Configurare Google Cloud Storage come archiviazione file di Logto
Una guida pratica per configurare Google Cloud Storage come archiviazione file di Logto.
Per impostazione predefinita, Logto Console utilizza un input di testo per gli URL dei file statici, come gli avatar. Per abilitare un'esperienza di caricamento file più intuitiva con funzionalità di trascinamento e rilascio, devi configurare un provider di archiviazione.
Questo articolo fornisce una guida dettagliata per configurare Google Cloud Storage come provider di archiviazione.
Prerequisiti
- Un'istanza di Logto, in esecuzione nativamente in Node.js o in un container Docker. Se non ne hai uno, dai un'occhiata a questa guida: https://docs.logto.io/docs/tutorials/get-started/#local
- Un progetto Google Cloud
Preparazione del bucket
Creare un bucket è semplice. Fai riferimento alla documentazione ufficiale di Google Cloud: https://cloud.google.com/storage/docs/creating-buckets.
Una volta che il bucket è pronto, il passaggio successivo è impostare l'accesso alla visualizzazione pubblica. Ecco come fare:
- Nel console di Google Cloud, vai alla pagina Bucket di Cloud Storage.
- Dall'elenco dei bucket, fai clic sul nome del bucket che vuoi rendere pubblico.
- Seleziona la scheda Permessi vicino alla parte superiore della pagina.
- Nella sezione Permessi, fai clic sul pulsante Concedi accesso.
- Nel campo Nuovi principali, inserisci
allUsers
. - Nell'elenco a discesa Seleziona un ruolo, digita Storage Object Viewer nella casella di filtro e seleziona Storage Object Viewer dai risultati filtrati.
- Fai clic su Salva.
- Clicca su Consenti accesso pubblico.
Assicurati che sia assegnato il ruolo "Storage Object Viewer". Ecco uno screenshot di riferimento:
Ottenere il file della chiave
Gli SDK di Google Cloud solitamente utilizzano un "file chiave". Se non hai familiarità con Google Cloud, questa potrebbe essere la parte più impegnativa. Ecco come ottenerlo:
- Vai alla pagina dell'account di servizio: https://console.cloud.google.com/iam-admin/serviceaccounts
- Crea un account, inserisci un nome e poi continua.
- Nel passaggio successivo, seleziona il ruolo di "Storage Object User". Puoi trovarlo utilizzando il filtro.
- Una volta finito di creare l'account, vai alla pagina dei dettagli dell'account e seleziona la scheda "chiavi".
- Fai clic su "aggiungi chiave", seleziona "crea una nuova chiave", scegli "json" nella finestra di dialogo, e poi scarica il tuo file json.
Aggiungere il file della chiave a Logto
Logto deve avere accesso al file della chiave.
Esecuzione in Node.js
Copia il file in /path/to/logto/core
e rinominalo in google-storage-key.json
.
Esecuzione in un container Docker
Se stai eseguendo Logto in un container Docker, dovrai montare il file nel container. Supponendo che tu stia utilizzando Docker Compose, aggiungi questo alla tua configurazione:
Ricorda di sostituire /path/to
con il percorso effettivo.
Aggiornamento delle configurazioni del provider
Utilizzeremo l'interfaccia CLI di Logto per aggiornare le configurazioni del provider. L'interfaccia CLI di solito è disponibile nella cartella principale dell'istanza di Logto. Per saperne di più, controlla questo link: https://docs.logto.io/docs/references/using-cli/
Preparare il JSON
Ecco un esempio di configurazione JSON:
Ricorda di sostituire projectId
e bucketName
con i tuoi valori.
Aggiornamento tramite CLI
Converti il JSON in una stringa e esegui il seguente comando:
Testare la configurazione
Ora che tutto è configurato, ricorda di riavviare Logto e provarlo. Puoi andare alla sezione "Esperienza di accesso" e tentare di caricare un logo.
Se trovi questi passaggi complicati, considera l'utilizzo della versione cloud di Logto. Ci occupiamo di tutto noi!