> ## Documentation Index
> Fetch the complete documentation index at: https://docs.didit.me/llms.txt
> Use this file to discover all available pages before exploring further.

# Autenticação Flutter: início rápido

> Configure a autenticação Flutter com a Didit: início de sessão alojado, validação de URL de retorno, sessões seguras e ligações de verificação.

> [!WARNING]
>
> A Autenticação é nova: **didit\_auth** depende da versão. As coordenadas de distribuição, as versões e as assinaturas invocáveis não estão confirmadas aqui. Não instale um pacote presumido nem use o SDK de verificação de identidade como SDK de Autenticação.

## Preparar a aplicação

1. Confirme que a Autenticação está ativada para a sua aplicação Didit e copie a respetiva origem de início de sessão (`https://<slug>.auth.didit.me`, ou `<slug>.sandbox.auth.didit.me` para o sandbox) a partir da consola.
2. Registe um URL de retorno exato, suportado pela sua aplicação e pelo ambiente de execução. Valide a propriedade dos app links; não presuma que esquemas de URL personalizados arbitrários são aceites.
3. Mantenha separadas a configuração de sandbox e a de produção, incluindo o tratamento dos retornos e as credenciais armazenadas.
4. Escolha o seu mapeamento estável da pessoa antes de ligar a verificação ou a monitorização.

Configure e teste os links de retorno separadamente no iOS e no Android. O wrapper de Autenticação é separado do didit\_sdk, que trata da verificação.

## Implementar o fluxo alojado

Abra o navegador de autenticação nativo do sistema com o URL `{origin}/sign-in`. Forneça um `state` aleatório novo, um desafio PKCE S256 e o seu `redirect_uri` registado. Mantenha o verificador na sua aplicação apenas para essa tentativa. O [guia rápido de JavaScript](https://docs.didit.me/pt/authentication/quickstarts/javascript.md) mostra o protocolo subjacente; use criptografia e tratamento de URL da própria plataforma no código nativo, e não os globais do navegador.

No retorno, verifique o state, o tempo de vida da transação e o destino do URL de retorno antes de trocar o código de utilização única em `token/`. Use o verificador original e o URL de retorno exato. Cancelar ou fechar o navegador não é um início de sessão bem-sucedido.

Guarde os tokens de atualização no armazenamento nativo protegido pela plataforma; nunca num ficheiro de preferências em texto simples, na analítica ou nos registos de falhas. Valide a sessão atual com `GET session/`, usando o token Bearer do utilizador final. Serialize a renovação, substitua os dois tokens em conjunto e limpe o estado específico do utilizador depois de terminar a sessão. Consulte [tokens e JWKS](https://docs.didit.me/pt/authentication/tokens-and-jwks.md) para o contrato dos pedidos e o comportamento de reutilização do token de atualização.

## Pré-visualização da versão do SDK nativo

Os módulos nativos de Autenticação estão previstos para fornecer início de sessão, acesso à sessão atual, obtenção de tokens, terminar sessão e autenticação reforçada, com sinais automáticos do dispositivo. As chaves de acesso nativas e o armazenamento protegido de tokens fazem parte dessa versão. As APIs do wrapper seguirão os contratos publicados de cada plataforma; não copie argumentos de construtores nem assinaturas de métodos adivinhadas a partir de um exemplo de conceção.

Até que o módulo seja lançado, mantenha o respetivo adaptador desativado ou use uma implementação revista do protocolo alojado para a sua aplicação ativada. Não anuncie um guia rápido de Autenticação nativo a funcionar apenas com base na instalação do pacote.

## Ligar a verificação e a monitorização

O seu back-end deriva o `vendor_data` a partir da pessoa autenticada. Cria sessões de verificação ou emite tokens de monitorização com escopo para essa pessoa. Devolva à sua aplicação apenas a credencial de sessão ou o token com escopo; a chave de API fica no servidor.

Use o [SDK de verificação para Flutter](https://docs.didit.me/pt/integration/native-sdks/flutter-sdk.md) quando precisar de Verificação de identidade. Siga a [submissão de transações do SDK](https://docs.didit.me/pt/transaction-monitoring/sdk-transaction-submission.md) para o suporte de monitorização na sua plataforma. Trate o início de sessão, a verificação e as decisões sobre transações separadamente.

## Verificar a integração

Teste o regresso a uma aplicação encerrada, as transições para segundo plano e para primeiro plano, o cancelamento no navegador, um URL de retorno incompatível, a reutilização de código, a expiração de tokens, a renovação concorrente, MFA, terminar sessão e iniciar sessão como outro utilizador. Teste o registo e o início de sessão com chaves de acesso em dispositivos suportados, assim que essa versão estiver disponível. Uma verificação apenas em dispositivo continua por confirmar até ser executada na plataforma de destino.


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.