Saltar al contenido principal
POST
La autenticación es nueva. Estos endpoints los sirve el emisor de tu aplicación, como https://<name>.auth.didit.me, y nunca reciben tu clave de API de Didit.
Un refresh token solo funciona una vez. Si vuelves a enviar un refresh token ya usado, se revoca toda la sesión, así que ejecuta una sola renovación a la vez por sesión y reemplaza los tres tokens juntos. Consulta Refresh tokens.

Cuerpo

Una de las dos concesiones (grants), elegida según grant_type. El endpoint acepta los campos de ambas concesiones y valida todos los campos que recibe, por lo que una renovación (refresh) que además incluya un code_verifier mal formado recibe un error de campo. Envía solo los campos de tu concesión; cualquier otro campo recibe unknown_field.

grant_type
enum<string>
requerido
Opciones disponibles:
authorization_code
code
string
requerido

El parámetro de consulta code que recibió tu redirect_uri. Comprueba el state del callback antes de canjearlo.

Maximum string length: 128
Ejemplo:

"Vb0bVt4CLlr8ZL0kE5mAxv8gS6R0rW3hYqC1pN7dJ2s"

code_verifier
string
requerido

El verificador PKCE cuyo hash S256 fue el code_challenge del inicio de sesión.

Required string length: 43 - 128
Pattern: ^[A-Za-z0-9._~-]{43,128}$
Ejemplo:

"dBjftJeZ4CVP-mB92K27uhbUJU1p1r_wW1gFWFOEjXk"

redirect_uri
string
requerido

El redirect_uri exacto con el que empezó el inicio de sesión. Debe seguir siendo una de las URI de redirección de la aplicación.

Maximum string length: 2048
Ejemplo:

"https://app.example.com/auth/callback"

client_id
string

Opcional. Si se envía, debe ser igual al ID de tu aplicación; de lo contrario, la solicitud falla con invalid_client.

Maximum string length: 64
Ejemplo:

"7b0a6c2e-3f41-4c9a-8d55-1e2f3a4b5c6d"

scope
string

Opcional; se acepta de clientes OpenID Connect estándar. Nunca amplía lo que concedió el inicio de sesión.

Maximum string length: 512
Ejemplo:

"openid email"

Respuesta

Nuevos tokens para la sesión.

Tokens de una sesión. Sustituye los tres a la vez después de una renovación.

access_token
string
requerido

JWT ES256, con el encabezado typ: at+jwt. Envíalo como Authorization: Bearer <access_token>. Claims: AccessTokenClaims.

Ejemplo:

"eyJhbGciOiJFUzI1NiIsImtpZCI6ImtfOHNKMmRRdlgwbkxyNVRmWWIzSGtQdyIsInR5cCI6ImF0K2p3dCJ9.eyJpc3MiOiJodHRwczovL3lvdXItYXBwLmF1dGguZGlkaXQubWUiLCJhdWQiOiI3YjBhNmMyZS0zZjQxLTRjOWEtOGQ1NS0xZTJmM2E0YjVjNmQiLCJzdWIiOiIxYzlkOGI4OC0xYmZmLTQzZDEtYWQ3YS04OGIyYmMwMDI0ZTkiLCJzaWQiOiJjOWFiZjZjYy0yZDY0LTRiZjItYjMxZS1hNGQwOWEwNzBhYjEiLCJqdGkiOiJSZ3F1NzE3OWUtbGhKMGJ2VmVELVlnIiwiaWF0IjoxNzkyMjMzNjc0LCJleHAiOjE3OTIyMzM5NzQsInZlbmRvcl9kYXRhIjoidXNlci00MiIsIm9yZyI6bnVsbCwidmVyaWZpZWQiOnt9LCJhbXIiOlsicGFzc3dvcmQiXSwiYWN0IjpudWxsLCJjbGllbnRfaWQiOiI3YjBhNmMyZS0zZjQxLTRjOWEtOGQ1NS0xZTJmM2E0YjVjNmQifQ.AxrqN8Pm-Op-3OayZk8HcvlFQZhozRiOvQ0SgQsGgrz4UNeJlUEeSlq9B8WcYUuM8naRaY5kQt_TUofnsYcyYQ"

id_token
string
requerido

JWT ES256, con el encabezado typ: JWT, para que tu aplicación sepa quién inició sesión. Nunca lo envíes como token de acceso. Claims: IDTokenClaims.

Ejemplo:

"eyJhbGciOiJFUzI1NiIsImtpZCI6ImtfOHNKMmRRdlgwbkxyNVRmWWIzSGtQdyIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJodHRwczovL3lvdXItYXBwLmF1dGguZGlkaXQubWUiLCJhdWQiOiI3YjBhNmMyZS0zZjQxLTRjOWEtOGQ1NS0xZTJmM2E0YjVjNmQiLCJzdWIiOiIxYzlkOGI4OC0xYmZmLTQzZDEtYWQ3YS04OGIyYmMwMDI0ZTkiLCJzaWQiOiJjOWFiZjZjYy0yZDY0LTRiZjItYjMxZS1hNGQwOWEwNzBhYjEiLCJqdGkiOiJNTHRPNHM4SHItQnJrcDd2NTlPV0Z3IiwiaWF0IjoxNzkyMjMzNjc0LCJleHAiOjE3OTIyMzM5NzQsInZlbmRvcl9kYXRhIjoidXNlci00MiIsIm9yZyI6bnVsbCwidmVyaWZpZWQiOnt9LCJhbXIiOlsicGFzc3dvcmQiXSwiYWN0IjpudWxsLCJhdXRoX3RpbWUiOjE3OTIyMzM2NzQsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJlbWFpbCI6InBlcnNvbkBleGFtcGxlLmNvbSIsIm5vbmNlIjoibi0wUzZfV3pBMk1qIn0.avhfDFp_aUV5_1ssYzwDcIA7H6Waf19P0bn5GCg25FhLIZBGIlwc8HiUPGj1j26r21OkP4FQnS_jM1Ho3dHtKQ"

refresh_token
string
requerido

De un solo uso. Es válido hasta que finaliza la sesión, y cada actualización devuelve uno nuevo.

Ejemplo:

"N4yZTl6y24YKYq77X_SOrBn1q2Lit81WBQMOay7dq_IVfTnxyY8ZGcJk-6-fcmWW"

token_type
enum<string>
requerido
Opciones disponibles:
Bearer
expires_in
integer
requerido

Segundos hasta que caduca el token de acceso: como máximo 300, menos si la sesión termina antes.

Rango requerido: 0 <= x <= 300
Ejemplo:

299

session_id
string<uuid>
requerido

La sesión a la que pertenecen estos tokens, el mismo valor que el claim sid.

Ejemplo:

"c9abf6cc-2d64-4bf2-b31e-a4d09a070ab1"

Última modificación el 1 de noviembre de 2026