Saltar al contenido principal

Proveedor de almacenamiento de archivos

Por defecto, Logto Console utiliza una entrada de texto para URLs de archivos estáticos como avatares. Para habilitar una experiencia de carga de archivos más intuitiva con arrastrar y soltar, necesitas configurar un proveedor de almacenamiento.

Logto admite múltiples proveedores de almacenamiento, incluidos AWS S3 y Azure Storage. Esta guía te mostrará cómo configurar un proveedor de almacenamiento para Logto.

La configuración se almacena en la tabla systems de la base de datos, pero se recomienda usar el CLI para configurar el proveedor de almacenamiento. Para más información, prueba el comando "help":

pnpm logto db system --help

Azure Storage

Azure Storage es una solución de almacenamiento en la nube potente y escalable que te permite almacenar y gestionar tus datos en la nube. La siguiente guía te mostrará cómo configurar Azure Storage como proveedor de almacenamiento para Logto.

Requisitos previos

Configuración usando CLI

Ejemplo de uso:

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

connectionString

Para acceder a Azure Storage, necesitas usar una cadena de conexión, que es una cadena de caracteres que contiene la información necesaria para establecer una conexión con tu cuenta de almacenamiento.

Para obtener la cadena de conexión, sigue la documentación oficial de Azure Storage connection string.

container

El contenedor es un recurso de almacenamiento que almacena blobs. Puedes usar el contenedor para organizar tus blobs y controlar el acceso a tus datos.

Para crear un contenedor, sigue la documentación oficial de Azure Storage container.

publicUrl

Opcional.

La URL pública es la URL que se puede usar para acceder al recurso de almacenamiento públicamente. Si no estás usando CDN, puedes dejarlo en blanco para usar el "Punto de conexión principal" predeterminado de Azure Storage como la URL pública. Logto obtendrá este valor de "connectionString" con la ayuda del SDK de Azure. Para aprender más sobre el punto de conexión principal de tu cuenta de almacenamiento, sigue la documentación oficial de Azure Storage primary endpoint.

S3 Storage

S3 Storage es un servicio de almacenamiento en la nube que ofrece almacenamiento de objetos a través de una interfaz de servicio web. La siguiente guía te mostrará cómo configurar S3 Storage como proveedor de almacenamiento para Logto.

Requisitos previos

Configuración usando CLI

Ejemplo de uso:

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

El ID de clave de acceso es un identificador para tu cuenta de AWS. Para encontrar tu ID de clave de acceso para tu cuenta de AWS, sigue la documentación oficial de AWS access key ID.

accessSecretKey

La clave de acceso secreta se utiliza junto con el ID de clave de acceso para firmar solicitudes programáticas. Para encontrar tu clave de acceso secreta para tu cuenta de AWS, sigue la documentación oficial de AWS access key secret.

bucket

El bucket es un contenedor para objetos almacenados en Amazon S3. Para crear un bucket, sigue la documentación oficial de AWS S3 bucket.

region

Opcional.

La región es la región geográfica donde se encuentra el bucket de AWS S3. Si endpoint es un punto de conexión estándar de AWS S3, se puede analizar desde endpoint. Para encontrar tu región de AWS S3, sigue la documentación oficial de AWS S3 region.

Si estás utilizando un servicio de almacenamiento compatible con S3, puedes dejar este campo en blanco.

endpoint

Opcional.

El punto de conexión es la URL que se utiliza para acceder al servicio AWS S3. Para encontrar tu punto de conexión de AWS S3, sigue la documentación oficial de AWS S3 endpoint.

Puedes dejar este campo en blanco para usar el punto de conexión predeterminado para la región. Si estás utilizando un servicio de almacenamiento compatible con S3, puedes usar el punto de conexión del servicio.

publicUrl

Opcional.

La URL pública es la URL que se puede usar para acceder al recurso de almacenamiento públicamente. Si no estás usando CDN, puedes dejarlo en blanco para usar la URL predeterminada de S3 Storage.

Google Cloud Storage

Google Cloud Storage es un servicio de almacenamiento en la nube que proporciona almacenamiento de objetos a través de una interfaz de servicio web. La siguiente guía te mostrará cómo configurar Google Cloud Storage como proveedor de almacenamiento para Logto.

Requisitos previos

Obtener el archivo de clave

Los SDK de Google Cloud comúnmente usan un "archivo de clave". Si no estás familiarizado con Google Cloud, esta podría ser la parte más desafiante. Aquí te mostramos cómo obtenerlo:

  1. Ve a la página de cuentas de servicio: https://console.cloud.google.com/iam-admin/serviceaccounts
  2. Crea una cuenta, ingresa un nombre y luego continúa.
  3. En el siguiente paso, selecciona el rol de "Storage Object User". Puedes encontrarlo usando el filtro.
  4. Una vez que hayas terminado de crear la cuenta, ve a la página de detalles de la cuenta y selecciona la pestaña "keys".
  5. Haz clic en "add key", selecciona "create a new key", elige "json" en el diálogo y luego descarga tu archivo json.

Añadir el archivo de clave a Logto

Logto debe tener acceso al archivo de clave.

Ejecutando en Node.js

Copia el archivo a /path/to/logto/core y renómbralo a google-storage-key.json.

Ejecutando en un contenedor Docker

Si estás ejecutando Logto en un contenedor Docker, necesitarás montar el archivo en el contenedor. Suponiendo que estás usando Docker Compose, añade esto a tu configuración:

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

Recuerda reemplazar /path/to con la ruta real.

Configuración usando CLI

Ejemplo de uso:

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

projectId

Tu ID de proyecto de Google Cloud.

keyFilename

El nombre del archivo de clave, si sigues los pasos anteriores, entonces es google-storage-key.json.

bucketName

El nombre del bucket.

publicUrl

Opcional.

La URL pública es la URL que se puede usar para acceder al recurso de almacenamiento públicamente. Si no estás usando CDN, puedes dejarlo en blanco para usar la URL predeterminada de S3 Storage.