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
- Compte S3 Storage ou autre service de stockage compatible S3, tel que MinIO
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
- Un projet Google Cloud
- Un bucket, consultez la documentation officielle de Google Cloud : https://cloud.google.com/storage/docs/creating-buckets.
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 :
- Allez sur la page du compte de service : https://console.cloud.google.com/iam-admin/serviceaccounts
- Créez un compte, entrez un nom, puis continuez.
- À l'étape suivante, sélectionnez le rôle de "Storage Object User". Vous pouvez le trouver en utilisant le filtre.
- 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".
- 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.