> ## 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.

# Guía rápida de autenticación en iOS con Didit

> Autenticación de Didit en iOS: inicio de sesión alojado, validación de callback, sesiones seguras y enlaces a verificación y monitorización.

> [!WARNING]
>
> La autenticación es nueva: **DiditAuth for iOS** depende de la versión. Aquí no se confirman las coordenadas de distribución, las versiones ni las firmas de los métodos. No instales un paquete que hayas deducido ni uses el SDK de verificación de identidad como SDK de autenticación.

## Prepara la aplicación

1. Confirma que Autenticación está habilitada para tu aplicación de Didit y copia desde la consola su origen de inicio de sesión (`https://<slug>.auth.didit.me`, o `<slug>.sandbox.auth.didit.me` para sandbox).
2. Registra una URL de callback exacta que admitan tu aplicación y el entorno de ejecución. Valida la propiedad de los app links; no des por hecho que se acepte cualquier esquema de URL personalizado.
3. Mantén separadas la configuración de sandbox y la de producción, incluidos el manejo del callback y las credenciales almacenadas.
4. Elige un mapeo estable de cada persona antes de conectar la verificación o la monitorización.

Usa la sesión de autenticación del sistema para el inicio de sesión alojado. Planifica a la vez el manejo nativo de passkeys y el dominio de la relying party; un WebView no sustituye al flujo de autenticación del sistema.

## Implementa el flujo alojado

Abre una sesión de navegador de autenticación del sistema con la URL `{origin}/sign-in`. Proporciona un `state` aleatorio nuevo, un desafío PKCE S256 y tu `redirect_uri` registrado. Conserva el verificador en tu app solo para ese intento. La [guía rápida de JavaScript](https://docs.didit.me/es/authentication/quickstarts/javascript.md) muestra el protocolo subyacente; en código nativo, usa la criptografía y el manejo de URL de la plataforma en lugar de los objetos globales del navegador.

Al recibir el callback, verifica el state, la vigencia de la transacción y el destino del callback antes de intercambiar el código de un solo uso en `token/`. Usa el verificador original y la URI de redirección exacta. Cancelar o cerrar el navegador no es un inicio de sesión exitoso.

Guarda los refresh tokens en el almacenamiento de credenciales protegido por la plataforma; nunca en un archivo de preferencias sin protección, en analítica ni en registros de fallos. Valida la sesión actual con `GET session/` y el token Bearer del usuario final. Serializa la renovación, sustituye ambos tokens a la vez y borra el estado específico del usuario después de cerrar sesión. Consulta [tokens y JWKS](https://docs.didit.me/es/authentication/tokens-and-jwks.md) para ver el contrato de la solicitud y el comportamiento ante la reutilización del refresh token.

## Vista previa del SDK nativo

Está previsto que los módulos nativos de Autenticación ofrezcan inicio de sesión, acceso a la sesión actual, obtención de tokens, cierre de sesión y step-up, con señales automáticas del dispositivo. Las passkeys nativas y el almacenamiento protegido de tokens forman parte de ese lanzamiento. Las APIs de los wrappers seguirán sus contratos de plataforma publicados; no copies argumentos de constructor ni firmas de métodos supuestos de un ejemplo de diseño.

Hasta que se lance el módulo, mantén su adaptador desactivado o usa una implementación revisada del protocolo alojado para tu aplicación habilitada. No anuncies una guía rápida nativa de Autenticación funcional basada solo en la instalación de un paquete.

## Conecta la verificación y la monitorización

Tu backend obtiene `vendor_data` a partir de la persona autenticada. Crea sesiones de verificación o emite tokens de monitorización con alcance limitado para esa persona. Devuelve a tu app solo la credencial de la sesión o el token con alcance limitado; la clave de API permanece en el servidor.

Usa el [SDK de verificación para iOS](https://docs.didit.me/es/integration/native-sdks/ios-sdk.md) cuando necesites verificación de identidad. Sigue [Envío de transacciones desde el SDK](https://docs.didit.me/es/transaction-monitoring/sdk-transaction-submission.md) para implementar la monitorización en tu plataforma. Trata por separado las decisiones de inicio de sesión, de verificación y de transacciones.

## Verifica la integración

Prueba el regreso a la app tras un arranque en frío, las transiciones entre segundo y primer plano, la cancelación del navegador, un callback que no coincide, la reutilización del código, la caducidad del token, las renovaciones simultáneas, el MFA, el cierre de sesión y el inicio de sesión como otro usuario. Prueba el registro de passkeys y el inicio de sesión en dispositivos compatibles cuando esa versión esté disponible. Una comprobación que solo puede hacerse en el dispositivo sigue sin verificar hasta que se ejecute en la plataforma de destino.


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