Configurar o Google Cloud Storage como o armazenamento de ficheiros do Logto
Um guia prático para configurar o Google Cloud Storage como armazenamento de ficheiros do Logto.
Por predefinição, a Consola Logto utiliza uma entrada de texto para URLs de ficheiros estáticos, como avatares. Para permitir uma experiência de upload de ficheiros mais intuitiva com funcionalidade de arrastar e soltar, deves configurar um fornecedor de armazenamento.
Este artigo fornece um guia passo a passo para configurar o Google Cloud Storage como teu fornecedor de armazenamento.
Pré-requisitos
- Uma instância do Logto, a executar de forma nativa em Node.js ou num contentor Docker. Se não tiveres uma, consulta este guia: https://docs.logto.io/docs/tutorials/get-started/#local
- Um projeto no Google Cloud
Preparar o balde
Criar um balde é simples. Consulta a documentação oficial do Google Cloud: https://cloud.google.com/storage/docs/creating-buckets.
Uma vez que o balde esteja pronto, o próximo passo é configurar o acesso público de visualização. Eis como:
- No console do Google Cloud, navega para a página Buckets do Cloud Storage.
- Na lista de baldes, clica no nome do balde que queres tornar público.
- Seleciona o separador Permissions próximo do topo da página.
- Na secção Permissions, clica no botão Grant access.
- No campo New principals, insere
allUsers
. - No dropdown Select a role, escreve Storage Object Viewer na caixa de filtragem e seleciona Storage Object Viewer nos resultados filtrados.
- Clica em Save.
- Clica em Allow public access.
Certifica-te de que a função "Storage Object Viewer" está atribuída. Aqui está uma captura de ecrã como referência:
Obter o ficheiro-chave
Os SDKs do Google Cloud frequentemente utilizam um "ficheiro-chave". Se não estás familiarizado com o Google Cloud, esta pode ser a parte mais desafiadora. Eis como consegui-lo:
- Vai para a página de contas de serviço: https://console.cloud.google.com/iam-admin/serviceaccounts
- Cria uma conta, insere um nome e continua.
- No próximo passo, seleciona a função de “Storage Object User”. Podes encontrá-la utilizando a filtragem.
- Assim que terminares de criar a conta, vai para a página de detalhes da conta e seleciona o separador "keys".
- Clica em “adicionar chave”, seleciona “criar uma nova chave”, escolhe “json” no diálogo e, em seguida, descarrega o teu ficheiro json.
Adicionar o ficheiro-chave ao Logto
Logto deve ter acesso ao ficheiro-chave.
A executar em Node.js
Copia o ficheiro para /path/to/logto/core
e renomeia-o para google-storage-key.json
.
A executar num Contentor Docker
Se estiveres a executar o Logto num contentor Docker, precisarás de montar o ficheiro no contentor. Supondo que estás a usar Docker Compose, adiciona isto à tua configuração:
Lembra-te de substituir /path/to
pelo caminho real.
Atualizar as configurações do fornecedor
Usaremos o CLI do Logto para atualizar as configurações do fornecedor. O CLI costuma estar disponível na pasta raiz da instância Logto. Para saber mais, consulta este link: https://docs.logto.io/docs/references/using-cli/
Preparar o JSON
Aqui tens um exemplo de configuração JSON:
Lembra-te de substituir projectId
e bucketName
pelos teus valores.
Atualizar via CLI
Transforma o JSON numa string e executa o seguinte comando:
Testar a Configuração
Agora que tudo está configurado, lembra-te de reiniciar o Logto e dar uma tentativa. Podes ir à secção "Experiência de início de sessão" e tentar carregar um logótipo.
Se achares estes passos complicados, considera usar a versão em nuvem do Logto. Nós tratamos de tudo por ti!