Construir autenticação Expo (React Native) com Logto
Aprende como construir um fluxo de autenticação de utilizador com Expo (React Native) integrando o Logto SDK.
Aprende como construir um fluxo de autenticação de utilizador com Expo (React Native) integrando o Logto SDK.
Neste tutorial, vamos mostrar-lhe como construir um fluxo de autenticação de utilizador com Expo (React Native) integrando o Logto SDK. O tutorial usa TypeScript como a linguagem de programação.
Antes de começar, certifique-se de que tem o seguinte:
Para começar, crie uma aplicação Logto com o tipo "Native". Siga estes passos para criar uma aplicação Logto:
Depois deverá ver um guia interativo que o orienta no processo de integração do Logto SDK com a sua aplicação Expo (React Native). O conteúdo seguinte pode ser uma referência para uso futuro.
Instala o Logto SDK e as suas dependências pares através do teu gestor de pacotes favorito:
O pacote @logto/rn é o SDK para Logto. Os pacotes restantes são suas dependências pares. Eles não poderiam ser listados como dependências diretas porque o Expo CLI exige que todas as dependências para módulos nativos sejam instaladas diretamente no package.json do projeto raiz.
Importa e utiliza LogtoProvider para fornecer um contexto Logto:
Muda para a página de detalhes da aplicação no Console do Logto. Adiciona um URI de redirecionamento nativo (por exemplo, io.logto://callback), depois clica em "Salvar".
Para iOS, o esquema do URI de redirecionamento não é realmente importante, já que a classe ASWebAuthenticationSession vai ouvir o URI de redirecionamento independentemente de estar registrado ou não.
Para Android, o esquema do URI de redirecionamento deve ser preenchido no arquivo app.json do Expo, por exemplo:
Agora de volta à tua app, podes usar o hook useLogto para fazer login e logout:
Para mostrar as informações do utilizador, podes usar o método getIdTokenClaims():
Agora pode executar a aplicação e tentar iniciar sessão/terminar sessão com o Logto:
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!