Cómo funciona
Cada aplicación tiene su propio origen de inicio de sesión y su propio emisor de tokens. Las aplicaciones de producción y las de sandbox son independientes: tienen orígenes, configuración e identidades separados.
El flujo es OAuth 2.0 con código de autorización y PKCE (solo
S256):
- Tu aplicación abre
{origin}/sign-inconredirect_uri,state,code_challengeycode_challenge_method=S256. - La página alojada permite a la persona iniciar sesión o registrarse con los métodos que activaste, incluido cualquier segundo factor obligatorio.
- El navegador vuelve a tu
redirect_uriconcodeystate. - Tu aplicación intercambia el código en
POST {origin}/token/por un token de acceso, un token de ID y un token de actualización.
Elige tu plataforma
JavaScript
Inicio de sesión alojado, callback, sesión y cierre de sesión.
React
Estado del cliente y vistas protegidas de la aplicación.
Next.js
Sesiones de servidor, rutas de callback y cookies.
iOS
Navegador del sistema y almacenamiento seguro de tokens.
Android
Autorización en el navegador y callbacks de la aplicación.
React Native
Preparación del wrapper nativo de autenticación.
Flutter
Preparación del wrapper nativo de autenticación.
Prepara tu aplicación
- Pide a Didit que active Autenticación para tu aplicación. Prueba primero en una aplicación de sandbox.
- Registra tus URL de redirección exactas (hasta 50) y los
allowed_originsdel navegador (hasta 50) que llaman a la API de tiempo de ejecución. - Activa los métodos de inicio de sesión que quieras ofrecer. Didit ID Wallet está siempre activado.
- Elige la configuración de sesión y de contraseña (ver más abajo).
- Prueba el registro, el inicio de sesión, la recuperación de contraseña, la MFA, la caducidad de la sesión y el cierre de sesión antes de pasar a producción.
URL de redirección
Didit solo redirige a una persona a una dirección que hayas registrado. Registra las tuyas en la consola, en Authentication > Security and sessions > Redirect URLs and allowed origins. Elredirect_uri de una solicitud de inicio de sesión debe coincidir carácter por carácter con una URL registrada: esquema, host, puerto, ruta y query.
Un puerto distinto, una barra final o una diferencia entre mayúsculas y minúsculas constituyen una dirección distinta.
Se rechazan los comodines, los fragmentos, las credenciales en la URL y los esquemas personalizados.
Cuando la dirección no está registrada, Didit nunca redirige a ella.
{origin}/sign-in responde 400 con una página que indica qué registrar y dónde, y POST {origin}/authorize/ responde 400 {"error": "invalid_redirect_uri"}.
Desarrollo local
Prueba en tu propio equipo con tu aplicación de sandbox:- Registra tu callback con su puerto, por ejemplo
http://localhost:3000/auth/callback. - Si el código del navegador llama a la API en tiempo de ejecución, por ejemplo para intercambiar el código en
POST {origin}/token/, añade también el origen en Orígenes permitidos:http://localhost:3000, sin ruta y sin barra final. - Inicia el inicio de sesión en tu origen de sandbox,
https://<slug>.sandbox.auth.didit.me, con tu clavepk_test_....
localhost, 127.0.0.1 y [::1] son direcciones distintas, y también lo es cada puerto.
Registra cada una que uses.
Las aplicaciones de producción nunca aceptan http://.
Antes de pasar a producción, registra tu callback https:// de producción en tu aplicación de producción.
Configuración de la aplicación
Gestionas esta configuración en la consola o con una sesión de consola autorizada que tengawrite:authentication.
Mantener una misma persona en todos los productos
Cada identidad tiene un valorvendor_data. Es el external_id que proporcionaste al importar a la persona o, en caso contrario, el ID de identidad de Didit. Aparece en el token de acceso, en el ID token y en GET session/.
Usa el mismo valor como vendor_data cuando crees sesiones de verificación y envíes transacciones. Así, los eventos de autenticación se asocian en la consola a la misma persona a la que pertenecen sus verificaciones y transacciones. Consulta eventos y webhooks.
Obtén vendor_data en tu backend a partir de un token verificado, nunca de un campo del navegador sin comprobar.
Usa el prompt de integración compartido para cualquier combinación. Lee protección contra bots para conocer las políticas que se aplican al iniciar sesión.