Construa a autenticação do SvelteKit com Logto
Aprenda a construir um fluxo de autenticação de usuário com SvelteKit integrando o SDK Logto.
Comece
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 utilizador, e-mail, número de telefone e logins sociais populares como Google e GitHub.
- SvelteKit é um framework para desenvolver rapidamente aplicações web robustas e performáticas usando Svelte.
Neste tutorial, vamos mostrar-lhe como construir um fluxo de autenticação de utilizador com SvelteKit 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 registar-se gratuitamente.
- Ambiente de desenvolvimento A SvelteKit 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:
- Inicie sessão no Logto Console.
- Na barra de navegação à esquerda, clique em Aplicações.
- Clique em Criar aplicação.
- Na página aberta, encontre a secção "Web Tradicional" e localize o cartão "SvelteKit".
- Clique em Começar a construir e insira o nome da sua aplicação.
- Clique em Criar.
Depois deverá ver um guia interativo que o orienta no processo de integração do Logto SDK com a sua aplicação SvelteKit. O conteúdo seguinte pode ser uma referência para uso futuro.
Integrar com SDK Logto
Instalação
Instale o SDK Logto através de seu gerenciador de pacotes favorito:
Adicionar gancho Logto
Em seu arquivo hooks.server.ts
, adicione o seguinte código para injetar o gancho Logto em seu servidor:
Como essas informações são sensíveis, é recomendado usar variáveis de ambiente:
Se você tiver vários ganchos, pode usar a função helper sequence() para encadeá-los:
Agora você pode acessar o cliente Logto no objeto locals
. Para TypeScript, você pode adicionar o tipo para app.d.ts
:
Discutiremos o objeto user
mais tarde.
Implementar entrada e saída
Configurar URIs de redirecionamento
Mude 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/
à secçã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 "Guardar" para salvar as alterações.
De volta ao seu aplicativo, na página onde você deseja implementar entrada e saída, defina as seguintes ações:
Depois, use estas ações em seu componente Svelte:
Exibir informações do usuário
Para exibir as informações do usuário, você pode injetar o objeto locals.user
no layout, tornando-o disponível para todas as páginas:
Em seu componente Svelte:
Checkpoint: Executar a aplicação
Agora pode executar a aplicação e tentar iniciar sessão/terminar sessão com o Logto:
- Abra a aplicação no seu navegador, deverá ver o botão "Iniciar sessão".
- Clique no botão "Iniciar sessão" e deverá ser redirecionado para a página de login do Logto.
- Depois de iniciar sessão, deverá ser redirecionado de volta para a aplicação e deverá ver os dados do utilizador e o botão "Terminar sessão".
- Clique no botão "Terminar sessão" e deverá 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 equipa Logto!