Como usar o Logto na sua aplicação Encore
Aprenda a usar o Logto para autenticação de utilizadores na sua aplicação backend Encore. Neste guia, mostramos como integrar o seu backend Go com o Logto.
Encore é uma plataforma de desenvolvimento backend que facilita a criação de APIs e microserviços prontos para produção.
Logto é uma alternativa moderna ao Auth0 que ajuda a criar a experiência de início de sessão e identidade de utilizador em minutos. É particularmente adequado para proteger serviços de API construídos com Encore.
Este guia irá mostrar como integrar o Logto com a sua aplicação Encore para implementar a autenticação segura de utilizadores e proteger os seus endpoints de API.
Configurações do Logto
Antes de começarmos a integração com o Encore, será necessário configurar algumas coisas no Logto:
-
Crie uma conta no Logto Cloud se ainda não tiver uma.
-
Crie um Recurso de API no Console Logto, este representa o seu serviço de API Encore
- Vá para "Recursos de API" no Console 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 a sua aplicação frontend
- Vá para "Aplicações" no Console Logto
- Crie uma nova aplicação de acordo com o seu framework frontend (Usamos React como exemplo, mas pode criar qualquer aplicação de página única (SPA) ou aplicação nativa)
- (Opcional, abordaremos isso mais tarde) Integre o Logto com a sua aplicação frontend de acordo com o guia no Console Logto.
- Anote o ID da aplicação e o URL do emissor na página de detalhes da Aplicação, pois precisaremos deles mais tarde
Configure o manipulador de autenticação para o seu serviço de API Encore
Agora vamos implementar a autenticação na sua aplicação Encore. Utilizaremos o manipulador de autenticação embutido no Encore para validar os tokens JWT do Logto.
Adicione estes dois módulos na sua aplicação Encore:
Crie auth/auth.go
e adicione o seguinte código:
E em seguida, pode usar este manipulador de autenticação para proteger os seus endpoints de API:
Frontend
Concluímos o nosso trabalho no serviço de API Encore. Agora, precisamos integrar o Logto com a nossa aplicação frontend.
Pode escolher o framework que está a usar na página Logto Quick start para integrar o Logto com a 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 a sua aplicação React. Neste exemplo, só precisa completar até à secção de Integração. Depois disso, demonstraremos como a aplicação frontend pode obter um token de acesso do Logto para aceder à API Encore.
Primeiro, atualize o seu LogtoConfig
adicionando o recurso de API usado na sua aplicação Encore ao campo resources
. Isso informa ao Logto que solicitaremos tokens de acesso para este recurso de API (API Encore).
Após atualizar o LogtoConfig
, se um utilizador já estiver iniciado sessão, eles precisam sair e entrar novamente para que as novas configurações do LogtoConfig
entrem em vigor.
Uma vez que o utilizador esteja autenticado, pode usar o método getAccessToken
fornecido pelo SDK React do Logto para obter um token de acesso para aceder a recursos de API específicos. Por exemplo, para aceder à API Encore, usamos https://api.encoreapp.com
como o identificador do recurso de API.
Depois, adicione este token de acesso ao cabeçalho da requisição como o campo Authorization
em requisições subsequentes.
É isso, integrou com sucesso o Logto com a sua aplicação Encore.
Explore mais
Se deseja usar mais funcionalidades do Logto no Encore, consulte os seguintes links para mais informações:
- Combine as Alegações de token personalizadas do Logto para definir dados personalizados de utilizador no manipulador de autenticação
- Use os recursos 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 (note que precisa iniciar sessão novamente após atualizar a configuração do Logto) - Construa a sua aplicação Multi-tenant com o serviço de API Encore usando tokens de organização, consulte Construa uma aplicação SaaS multi-tenant com Logto