Construir autenticação Nuxt com Logto
Aprenda a construir um fluxo de autenticação de usuário com Nuxt integrando o SDK Logto.
Início
Introdução
- Logto é uma alternativa de código aberto ao Auth0 para construir infraestruturas de identidade. Suporta vários métodos de login, incluindo nome de usuário, e-mail, número de telefone e logins sociais populares como Google e GitHub.
- Nuxt uma framework de código aberto que torna o desenvolvimento web intuitivo e poderoso.
Neste tutorial, vamos mostrar como construir um fluxo de autenticação de usuário com Nuxt integrando o Logto SDK. O tutorial usa TypeScript como a linguagem de programação.
Pré-requisitos
Antes de começar, certifique-se de que tem o seguinte:
- Uma conta Logto. Se não tiver uma, pode se inscrever gratuitamente.
- Ambiente de desenvolvimento A Nuxt e um projeto.
Criar uma aplicação Logto
Para começar, crie uma aplicação Logto com o tipo "Web tradicional". Siga estes passos para criar uma aplicação Logto:
- Faça login no Logto Console.
- Na barra de navegação à esquerda, clique em Aplicações.
- Clique em Criar aplicação.
- Na página aberta, encontre a seção "Web tradicional" e localize o cartão "Nuxt".
- Clique em Começar a construir e insira o nome da sua aplicação.
- Clique em Criar.
Depois você deve ver um guia interativo que o orienta no processo de integração do Logto SDK com sua aplicação Nuxt. O conteúdo a seguir pode ser uma referência para uso futuro.
Integrar o SDK Logto
Instalação
Instale o SDK Logto através do seu gerenciador de pacotes favorito:
Registrar o módulo Logto
No seu arquivo de configuração Nuxt (nuxt.config.ts
), adicione o módulo Logto:
A configuração mínima para o módulo é a seguinte:
Como essas informações são sensíveis, é recomendado o uso de variáveis de ambiente:
Veja configuração de tempo de execução para mais informações.
Implementar o login e logout
Configurar URIs de redirecionamento
Vá para a página de detalhes da aplicação no Logto Console. Adicione um URI de redirecionamento http://localhost:3000/callback
.
URI de redirecionamento é um conceito do OAuth 2.0 que implica a localização para onde deve redirecionar após a autenticação.
De forma semelhante, adicione http://localhost:3000/
à seção "URI de redirecionamento após logout".
URI de redirecionamento após logout é um conceito do OAuth 2.0 que implica a localização para onde deve redirecionar após o logout.
Depois clique em "Salvar" para salvar as alterações.
Ao registrar o módulo @logto/nuxt
, ele fará o seguinte:
- Adicionar três rotas para login (
/sign-in
), logout (/sign-out
), e callback (/callback
). - Importar dois reutilizáveis:
useLogtoClient
euseLogtoUser
.
Estas rotas são configuráveis através de logto.pathnames
nas opções do módulo, por exemplo:
Confira o arquivo de definição de tipo no pacote @logto/nuxt
para mais informações.
Como as páginas Nuxt serão hidratadas e se tornarão uma aplicação de página única (SPA) após o carregamento inicial, precisamos redirecionar o usuário para a rota de login ou logout quando necessário.
Mostrar informações do usuário
Para mostrar as informações do usuário, você pode usar o composable useLogtoUser()
, que está disponível no servidor e no lado do cliente:
Checkpoint: Execute a aplicação
Agora você pode executar a aplicação e tentar iniciar sessão/terminar sessão com o Logto:
- Abra a aplicação no seu navegador, você deve ver o botão "Iniciar sessão".
- Clique no botão "Iniciar sessão" e você deve ser redirecionado para a página de login do Logto.
- Depois de iniciar sessão, você deve ser redirecionado de volta para a aplicação e deve ver os dados do usuário e o botão "Terminar sessão".
- Clique no botão "Terminar sessão" e você deve ser redirecionado para a página de logout do Logto, e depois redirecionado de volta para a aplicação em estado de não iniciado sessão.
Se encontrar algum problema durante a integração, não hesite em juntar-se ao nosso servidor Discord para conversar com a comunidade e a equipe Logto!