Configurar Google Cloud Storage como el almacenamiento de archivos de Logto
Una guía práctica para configurar Google Cloud Storage como el almacenamiento de archivos de Logto.
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 funcionalidad de arrastrar y soltar, debes configurar un proveedor de almacenamiento.
Este artículo proporciona una guía paso a paso para configurar Google Cloud Storage como tu proveedor de almacenamiento.
Prerrequisitos
- Una instancia de Logto, ya sea ejecutándose de forma nativa en Node.js o en un contenedor de Docker. Si no tienes una, consulta esta guía: https://docs.logto.io/docs/tutorials/get-started/#local
- Un proyecto de Google Cloud
Preparando el bucket
Crear un bucket es sencillo. Consulta la documentación oficial de Google Cloud: https://cloud.google.com/storage/docs/creating-buckets.
Una vez que el bucket esté listo, el siguiente paso es configurar el acceso público para su visualización. Así es cómo:
- En la consola de Google Cloud, navega a la página de Buckets de Cloud Storage.
- De la lista de buckets, haz clic en el nombre del bucket que quieres hacer público.
- Selecciona la pestaña Permisos cerca de la parte superior de la página.
- En la sección Permisos, haz clic en el botón Otorgar acceso.
- En el campo Nuevos principales, ingresa
allUsers
. - En el menú desplegable Seleccionar un rol, escribe Storage Object Viewer en la caja de filtro y selecciona Storage Object Viewer en los resultados filtrados.
- Haz clic en Guardar.
- Haz clic en Permitir acceso público.
Asegúrate de que el rol "Storage Object Viewer" esté asignado. Aquí hay una captura de pantalla para referencia:
Obteniendo el archivo clave
Los SDKs de Google Cloud comúnmente usan un "archivo clave". Si no estás familiarizado con Google Cloud, esta puede ser la parte más desafiante. Así puedes obtenerlo:
- Ve a la página de cuentas de servicio: https://console.cloud.google.com/iam-admin/serviceaccounts
- Crea una cuenta, ingresa un nombre y luego continúa.
- En el siguiente paso, selecciona el rol de “Storage Object User”. Puedes encontrarlo usando el filtro.
- 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”.
- Haz clic en “añadir clave”, selecciona “crear una nueva clave”, elige “json” en el cuadro de diálogo, y luego descarga tu archivo json.
Añadiendo el archivo clave a Logto
Logto debe tener acceso al archivo 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 de Docker
Si estás ejecutando Logto en un contenedor de Docker, necesitarás montar el archivo en el contenedor. Asumiendo que estás usando Docker Compose, añade esto a tu configuración:
Recuerda reemplazar /path/to
con la ruta real.
Actualizando configuraciones del proveedor
Usaremos el CLI de Logto para actualizar las configuraciones del proveedor. El CLI generalmente está disponible en la carpeta raíz de la instancia de Logto. Para aprender más, consulta este enlace: https://docs.logto.io/docs/references/using-cli/
Preparando el JSON
Aquí tienes un ejemplo de configuración JSON:
Recuerda reemplazar projectId
y bucketName
con tus valores.
Actualizando vía CLI
Convierte el JSON en una cadena y ejecuta el siguiente comando:
Probando la configuración
Ahora que todo está configurado, recuerda reiniciar Logto y probarlo. Puedes ir a la sección de "Experiencia de inicio de sesión" e intentar cargar un logotipo.
Si encuentras complicados estos pasos, considera usar la versión en la nube de Logto. ¡Nos encargamos de todo por ti!