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
scopeao 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

