> ## 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 no iOS: guia rápido

> Configure a autenticação da Didit no iOS: login hospedado, validação do retorno, sessões seguras e links para verificação e monitoramento.

> [!WARNING]
>
> O Authentication é novo: o **DiditAuth para iOS** depende da versão. As coordenadas de distribuição, as versões e as assinaturas chamáveis não estão confirmadas aqui. Não instale um pacote deduzido nem use o SDK de Verificação de identidade como SDK de Authentication.

## Preparar a aplicação

1. Confirme que o Authentication está ativado para a sua aplicação Didit e copie a origem de login dela (`https://<slug>.auth.didit.me`, ou `<slug>.sandbox.auth.didit.me` para sandbox) no console.
2. Registre uma URL de retorno exata compatível com a sua aplicação e com o runtime. Valide a propriedade dos app links; não presuma que esquemas de URL personalizados arbitrários sejam aceitos.
3. Mantenha separadas as configurações de sandbox e de produção, incluindo o tratamento do retorno e as credenciais armazenadas.
4. Defina um mapeamento estável para cada pessoa antes de conectar a verificação ou o monitoramento.

Use a sessão de autenticação do sistema para o login hospedado. Planeje em conjunto o tratamento nativo de passkeys e o domínio da relying party; uma WebView não substitui o fluxo de autenticação do sistema.

## Implementar o fluxo hospedado

Abra uma sessão de navegador de autenticação do sistema com a URL `{origin}/sign-in`. Forneça um `state` aleatório e novo, um desafio PKCE S256 e o seu `redirect_uri` registrado. Mantenha o verifier no seu app somente para essa tentativa. O [guia de início rápido de JavaScript](https://docs.didit.me/pt-br/authentication/quickstarts/javascript.md) mostra o protocolo subjacente; em código nativo, use a criptografia e o tratamento de URLs da plataforma em vez de globais do navegador.

No retorno, verifique o state, o tempo de vida da transação e o destino do retorno antes de trocar o código de uso único no endpoint `token/`. Use o verifier original e a URI de redirecionamento exata. Cancelar ou fechar o navegador não é um login bem-sucedido.

Armazene os refresh tokens no armazenamento de credenciais protegido pela plataforma; nunca em um arquivo simples de preferências, em analytics ou em logs de falhas. Valide a sessão atual usando `GET session/` com o Bearer token do usuário final. Execute a renovação de forma serial, substitua os dois tokens juntos e limpe o estado específico do usuário após o logout. Consulte [tokens e JWKS](https://docs.didit.me/pt-br/authentication/tokens-and-jwks.md) para ver o contrato da requisição e o comportamento de reutilização de refresh tokens.

## Prévia do lançamento do SDK nativo

Os módulos nativos de Authentication estão previstos para oferecer login, acesso à sessão atual, obtenção de tokens, logout e step-up, com sinais do dispositivo coletados automaticamente. Passkeys nativas e armazenamento protegido de tokens fazem parte desse lançamento. As APIs dos wrappers seguirão os contratos publicados de cada plataforma; não copie argumentos de construtor nem assinaturas de métodos presumidos a partir de um exemplo de design.

Até que o módulo seja lançado, mantenha o adaptador dele desativado ou use uma implementação revisada do protocolo hospedado para a sua aplicação ativada. Não divulgue um guia de início rápido de Authentication nativo como funcional com base apenas na instalação do pacote.

## Conectar verificação e monitoramento

O seu backend deriva `vendor_data` da pessoa autenticada. Ele cria sessões de verificação ou emite tokens de monitoramento com escopo para essa pessoa. Devolva ao seu app somente a credencial da sessão ou o token com escopo; a chave de API permanece no servidor.

Use o [SDK de verificação para iOS](https://docs.didit.me/pt-br/integration/native-sdks/ios-sdk.md) quando precisar de verificação de identidade. Siga [envio de transações pelo SDK](https://docs.didit.me/pt-br/transaction-monitoring/sdk-transaction-submission.md) para o suporte a monitoramento na sua plataforma. Trate separadamente as decisões de login, de verificação e de transação.

## Verificar a integração

Teste o retorno a um app fechado, as transições entre segundo e primeiro plano, o cancelamento do navegador, um callback divergente, a reutilização do código, a expiração do token, renovações simultâneas, MFA, logout e o login como outro usuário. Teste o cadastro de passkeys e o login em dispositivos compatíveis quando esse lançamento estiver disponível. Uma verificação exclusiva do dispositivo continua não verificada até ser executada na plataforma de destino.


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