Português (Brasil)
  • encore
  • proteger api
  • autenticação api

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.

Yijun
Yijun
Developer

Pare de perder semanas com autenticação de usuários
Lance aplicativos seguros mais rapidamente com o Logto. Integre a autenticação de usuários em minutos e concentre-se no seu produto principal.
Começar
Product screenshot

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:

  1. Crie uma conta no Logto Cloud se ainda não tiver uma.

  2. 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

Recurso de API do Logto

  1. 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

Endpoints da aplicação Logto

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: