Aller au contenu principal

Fournisseur de stockage de fichiers

Par défaut, Logto Console utilise une entrée de texte pour les URL de fichiers statiques tels que les avatars. Pour activer une expérience de téléchargement de fichiers plus intuitive avec glisser-déposer, vous devez configurer un fournisseur de stockage.

Logto prend en charge plusieurs fournisseurs de stockage, y compris AWS S3, Azure Storage. Cette recette vous montrera comment configurer un fournisseur de stockage pour Logto.

La configuration est stockée dans la table systems de la base de données, mais il est recommandé d'utiliser le CLI pour configurer le fournisseur de stockage. Pour plus d'informations, essayez la commande "help" :

pnpm logto db system --help

Azure Storage

Azure Storage est une solution de stockage cloud puissante et évolutive qui vous permet de stocker et de gérer vos données dans le cloud. La recette suivante vous montrera comment configurer Azure Storage en tant que fournisseur de stockage pour Logto.

Prérequis

Configuration via CLI

Exemple d'utilisation :

pnpm logto db system set storageProvider '{"provider":"AzureStorage","connectionString":"DefaultEndpointsProtocol=https;AccountName=logto;AccountKey=oRhfTBHOHiBxxxxxxxxxxxxxxxxZ0se6XROftl/Xrow==;EndpointSuffix=core.windows.net","container":"logto"}'

connectionString

Pour accéder à Azure Storage, vous devez utiliser une chaîne de connexion, qui est une chaîne de caractères contenant les informations nécessaires pour établir une connexion à votre compte de stockage.

Pour obtenir la chaîne de connexion, suivez la documentation officielle sur la chaîne de connexion Azure Storage.

container

Le conteneur est une ressource de stockage qui stocke des blobs. Vous pouvez utiliser le conteneur pour organiser vos blobs et contrôler l'accès à vos données.

Pour créer un conteneur, suivez la documentation officielle sur les conteneurs Azure Storage.

publicUrl

Optionnel.

L'URL publique est l'URL qui peut être utilisée pour accéder à la ressource de stockage publiquement. Si vous n'utilisez pas de CDN, vous pouvez la laisser vide pour utiliser le "point de terminaison principal" par défaut d'Azure Storage comme URL publique. Logto obtiendra cette valeur à partir de "connectionString" avec l'aide du SDK Azure. Pour en savoir plus sur le point de terminaison principal de votre compte de stockage, suivez la documentation officielle sur le point de terminaison principal Azure Storage.

S3 Storage

S3 Storage est un service de stockage cloud qui offre un stockage d'objets via une interface de service web. La recette suivante vous montrera comment configurer S3 Storage en tant que fournisseur de stockage pour Logto.

Prérequis

Configuration via CLI

Exemple d'utilisation :

pnpm logto db system set storageProvider '{"provider":"S3Storage","accessKeyId":"my-access-key-id","accessSecretKey": "my-secret-access-key","bucket":"logto","endpoint":"https://s3.us-east-2.amazonaws.com"}'

accessKeyId

L'ID de clé d'accès est un identifiant pour votre compte AWS. Pour trouver votre ID de clé d'accès pour votre compte AWS, suivez la documentation officielle sur l'ID de clé d'accès AWS.

accessSecretKey

La clé d'accès secrète est utilisée conjointement avec l'ID de clé d'accès pour signer les requêtes programmatiques. Pour trouver votre clé d'accès secrète pour votre compte AWS, suivez la documentation officielle sur la clé d'accès secrète AWS.

bucket

Le bucket est un conteneur pour les objets stockés dans Amazon S3. Pour créer un bucket, suivez la documentation officielle sur les buckets AWS S3.

region

Optionnel.

La région est la région géographique où se trouve le bucket AWS S3. Si endpoint est un point de terminaison AWS S3 standard, il peut être analysé à partir de endpoint. Pour trouver votre région AWS S3, suivez la documentation officielle sur la région AWS S3.

Si vous utilisez un service de stockage compatible S3, vous pouvez laisser ce champ vide.

endpoint

Optionnel.

Le point de terminaison est l'URL utilisée pour accéder au service AWS S3. Pour trouver votre point de terminaison AWS S3, suivez la documentation officielle sur le point de terminaison AWS S3.

Vous pouvez laisser ce champ vide pour utiliser le point de terminaison par défaut pour la région. Si vous utilisez un service de stockage compatible S3, vous pouvez utiliser le point de terminaison du service.

publicUrl

Optionnel.

L'URL publique est l'URL qui peut être utilisée pour accéder à la ressource de stockage publiquement. Si vous n'utilisez pas de CDN, vous pouvez la laisser vide pour utiliser l'URL par défaut de S3 Storage.

Google Cloud Storage

Google Cloud Storage est un service de stockage cloud qui fournit un stockage d'objets via une interface de service web. Le guide suivant vous montrera comment configurer Google Cloud Storage en tant que fournisseur de stockage pour Logto.

Prérequis

Obtenir le fichier de clé

Les SDK Google Cloud utilisent couramment un "fichier de clé". Si vous n'êtes pas familier avec Google Cloud, cela pourrait être la partie la plus difficile. Voici comment l'obtenir :

  1. Allez sur la page du compte de service : https://console.cloud.google.com/iam-admin/serviceaccounts
  2. Créez un compte, entrez un nom, puis continuez.
  3. À l'étape suivante, sélectionnez le rôle de "Storage Object User". Vous pouvez le trouver en utilisant le filtre.
  4. Une fois que vous avez terminé de créer le compte, allez sur la page de détail du compte et sélectionnez l'onglet "keys".
  5. Cliquez sur "add key", sélectionnez "create a new key", choisissez "json" dans la boîte de dialogue, puis téléchargez votre fichier json.

Ajouter le fichier de clé à Logto

Logto doit avoir accès au fichier de clé.

Exécution dans Node.js

Copiez le fichier dans /path/to/logto/core et renommez-le en google-storage-key.json.

Exécution dans un conteneur Docker

Si vous exécutez Logto dans un conteneur Docker, vous devrez monter le fichier dans le conteneur. En supposant que vous utilisez Docker Compose, ajoutez ceci à votre configuration :

volumes:
- ./path/to/google-storage-key.json:/etc/logto/core/google-storage-key.json

N'oubliez pas de remplacer /path/to par le chemin réel.

Configuration via CLI

Exemple d'utilisation :

pnpm logto db system set storageProvider '{"provider":"GoogleStorage","projectId":"psychic-trainer-403801","keyFilename":"google-storage-key.json","bucketName":"logto-test2"}'

projectId

Votre ID de projet Google Cloud.

keyFilename

Le nom du fichier de clé, si vous suivez les étapes ci-dessus, alors c'est google-storage-key.json.

bucketName

Le nom du bucket.

publicUrl

Optionnel.

L'URL publique est l'URL qui peut être utilisée pour accéder à la ressource de stockage publiquement. Si vous n'utilisez pas de CDN, vous pouvez la laisser vide pour utiliser l'URL par défaut de S3 Storage.