Configurar o Google Cloud Storage como o armazenamento de arquivos do Logto
Um guia prático para configurar o Google Cloud Storage como o armazenamento de arquivos do Logto.
Por padrão, o Logto Console usa uma entrada de texto para URLs de arquivos estáticos, como avatares. Para habilitar uma experiência de upload de arquivos mais intuitiva com funcionalidade de arrastar e soltar, você deve configurar um provedor de armazenamento.
Este artigo fornece um guia passo a passo sobre como configurar o Google Cloud Storage como seu provedor de armazenamento.
Pré-requisitos
- Uma instância do Logto, executando nativamente em Node.js ou em um contêiner Docker. Se você não tiver uma, confira este guia: https://docs.logto.io/docs/tutorials/get-started/#local
- Um projeto no Google Cloud
Preparando o bucket
Criar um bucket é simples. Consulte a documentação oficial do Google Cloud: https://cloud.google.com/storage/docs/creating-buckets.
Depois que o bucket estiver pronto, o próximo passo é configurar o acesso público para visualização. Veja como:
- No console do Google Cloud, navegue até a página Buckets do Cloud Storage.
- Na lista de buckets, clique no nome do bucket que deseja tornar público.
- Selecione a guia Permissões perto do topo da página.
- Na seção Permissões, clique no botão Conceder acesso.
- No campo Novos principais, insira
allUsers
. - No menu suspenso Selecionar uma função, digite Storage Object Viewer na caixa de filtro e selecione o Storage Object Viewer nos resultados filtrados.
- Clique em Salvar.
- Clique em Permitir acesso público.
Certifique-se de que a função "Storage Object Viewer" esteja atribuída. Aqui está uma captura de tela para referência:
Obtendo o arquivo de chave
Os SDKs do Google Cloud geralmente usam um "arquivo de chave". Se você não estiver familiarizado com o Google Cloud, esta pode ser a parte mais desafiadora. Veja como obtê-lo:
- Vá para a página de contas de serviço: https://console.cloud.google.com/iam-admin/serviceaccounts
- Crie uma conta, insira um nome e continue.
- Na próxima etapa, selecione a função de “Storage Object User”. Você pode encontrá-la usando o filtro.
- Depois de criar a conta, vá para a página de detalhes da conta e selecione a guia “chaves”.
- Clique em “adicionar chave”, selecione “criar uma nova chave”, escolha “json” no diálogo e então baixe seu arquivo json.
Adicionando o arquivo de chave ao Logto
O Logto deve ter acesso ao arquivo de chave.
Executando em Node.js
Copie o arquivo para /path/to/logto/core
e renomeie-o para google-storage-key.json
.
Executando em um Contêiner Docker
Se você estiver executando o Logto em um contêiner Docker, precisará montar o arquivo no contêiner. Supondo que você esteja usando o Docker Compose, adicione isso à sua configuração:
Lembre-se de substituir /path/to
pelo caminho real.
Atualizando as configurações do provedor
Usaremos o CLI do Logto para atualizar as configurações do provedor. O CLI geralmente está disponível na pasta raiz da instância do Logto. Para saber mais, consulte este link: https://docs.logto.io/docs/references/using-cli/
Preparando o JSON
Aqui está uma configuração JSON de exemplo:
Lembre-se de substituir projectId
e bucketName
pelos seus valores.
Atualizando via CLI
Transforme o JSON em uma string e execute o seguinte comando:
Testando a Configuração
Agora que tudo está configurado, lembre-se de reiniciar o Logto e fazer um teste. Você pode ir para a seção "Experiência de login" e tentar fazer o upload de um logotipo.
Se achar que essas etapas são complicadas, considere usar a versão em nuvem do Logto. Nós cuidamos de tudo para você!