Como usar o Logto na sua aplicação Encore
Aprenda a usar o Logto para autenticação de usuários em sua aplicação backend Encore. Neste guia, mostramos como integrar seu backend Go com o Logto.
Encore é uma plataforma de desenvolvimento backend que facilita a construção de APIs e microsserviços prontos para produção.
Logto é uma alternativa moderna ao Auth0 que ajuda você a criar a experiência de login e identidade do usuário em minutos. É particularmente adequado para proteger serviços de API desenvolvidos com Encore.
Este guia mostrará como integrar o Logto com sua aplicação Encore para implementar autenticação segura de usuários e proteger seus endpoints de API.
Configurações do Logto
Antes de começarmos a integração com o Encore, você precisará configurar algumas coisas no Logto:
-
Crie uma conta no Logto Cloud se ainda não tiver uma.
-
Crie um Recurso de API no Console do Logto, isso representa seu serviço de API Encore
- Vá para "API Resources" no Console do Logto e crie uma nova API
- Defina um nome e um identificador de API (por exemplo,
https://api.encoreapp.com
) - Anote o identificador de API na página de detalhes do recurso de API, pois precisaremos dele mais tarde
- Crie uma aplicação para sua aplicação frontend
- Vá para "Applications" no Console do Logto
- Crie uma nova aplicação de acordo com seu framework frontend (Usamos React como exemplo, mas você pode criar qualquer Aplicação de Página Única (SPA) ou aplicativo nativo)
- (Opcional, cobriremos isso mais tarde) Integre o Logto com sua aplicação frontend de acordo com o guia no Console do Logto.
- Anote o ID da aplicação e a URL do emissor na página de detalhes da Aplicação, pois precisaremos deles mais tarde
Configurar o manipulador de autenticação para seu serviço de API Encore
Agora vamos implementar a autenticação em sua aplicação Encore. Usaremos o auth handler embutido do Encore para validar os tokens JWT do Logto.
Adicione esses dois módulos em sua aplicação Encore:
Crie auth/auth.go
e adicione o seguinte código:
E então, você pode usar este manipulador de autenticação para proteger seus endpoints de API:
Frontend
Concluímos nosso trabalho no serviço de API do Encore. Agora precisamos integrar o Logto com nossa aplicação frontend.
Você pode escolher o framework que está usando na página Logto Quick start para integrar o Logto com sua aplicação frontend. Neste guia, usamos React como exemplo.
Confira o guia Adicionar autenticação à sua aplicação React para aprender como integrar o Logto com sua aplicação React. Neste exemplo, você só precisa completar até a seção Integração. Depois disso, mostraremos como a aplicação frontend pode obter um token de acesso do Logto para acessar a API Encore.
Primeiro, atualize seu LogtoConfig
adicionando o recurso de API usado em sua aplicação Encore ao campo resources
. Isso informa ao Logto que estaremos solicitando tokens de acesso para este recurso de API (API Encore).
Depois de atualizar o LogtoConfig
, se um usuário já estiver conectado, ele precisará sair e entrar novamente para que as novas configurações do LogtoConfig
entrem em vigor.
Uma vez que o usuário esteja logado, você pode usar o método getAccessToken
fornecido pelo Logto React SDK para obter um token de acesso para acessar recursos de API específicos. Por exemplo, para acessar a API Encore, usamos https://api.encoreapp.com
como o identificador do recurso de API.
Então, adicione este token de acesso aos cabeçalhos da requisição como o campo Authorization
em requisições subsequentes.
É isso, você integrou com sucesso o Logto com sua aplicação Encore.
Explore mais
Se você quiser usar mais recursos do Logto no Encore, pode consultar os seguintes links para mais informações:
- Combine as declarações de token personalizadas do Logto para definir dados de usuário personalizados no manipulador de autenticação
- Use as funcionalidades de RBAC do Logto para adicionar suporte de autorização ao seu serviço de API Encore. O tutorial de integração com React também demonstra como adicionar informações de
scope
ao seu Token de Acesso (observe que você precisa se inscrever novamente após atualizar a configuração do Logto) - Construa sua aplicação multi-tenant com serviço de API Encore usando tokens de organização, consulte Construa uma aplicação SaaS multi-tenant com Logto