Solución de problemas — Developers¶
Errores frecuentes durante la integración y cómo resolverlos.
invalid_grant al canjear el código preautorizado
- Causa probable: el código ya fue consumido o caducó (TTL típico: 5 minutos).
- Solución: pide al Issuer una nueva oferta. El código preautorizado es de un solo uso.
El wallet rechaza la credencial tras emitirla
- Causa probable: discrepancia en el
vct(Verifiable Credential Type) o falta de claves de verificación públicas en/.well-known/jwt-issuer. - Solución: comprueba que el
vctdeclarado en metadata coincide con el de la credencial emitida.
El verifier no recibe la presentación
- Causa probable: el
response_urino es accesible públicamente o tiene certificado inválido. - Solución: el wallet hace
direct_postdesde el dispositivo del usuario; el endpoint debe ser HTTPS público con cert válido.
invalid_presentation_submission
- Causa probable: la consulta DCQL pide claims que la credencial no contiene, o la firma del Key Binding JWT no valida.
- Solución: revisa que la credencial presentada cumple la query y que el
noncedel KB-JWT coincide con el de la solicitud.
invalid_dpop_proof
- Causa probable: el
htuohtmdel DPoP no coincide con la URL/método real, o eliatestá fuera de ventana. - Solución: verifica que regeneras el DPoP en cada request; no reutilices uno entre llamadas.
404 o tenant not found con dominio correcto
- Causa probable: el subdominio no está aprovisionado o la sesión apunta a otro tenant.
- Solución: confirma con soporte que el tenant está activo y que tu cliente OAuth está registrado en él.
El login muestra siempre el QR (o prompt=none devuelve login_required), aunque el usuario acaba de hacer login en otra aplicación
- Causa probable: el SSO no está habilitado para tu tenant, o las dos aplicaciones no cuelgan del mismo dominio raíz configurado (
rootDomain) — sin eso, el navegador no comparte la cookie de sesión entre ellas. También puede que tu aplicación envíeprompt=logino unmax_agemenor que la antigüedad de la sesión, que fuerzan el QR. - Solución: confirma con tu administrador de tenant que el SSO está activo y que ambas aplicaciones sirven bajo el mismo dominio raíz. Ver guía de administración.
Con sesión SSO vigente aparece el QR (o prompt=none devuelve interaction_required)
- Causa probable: hay una sesión SSO vigente, pero tu
client_idno está en el catálogo de aplicaciones elegibles del tenant. - Solución: pide a tu administrador de tenant que dé de alta tu
client_iden el catálogo SSO. Consulta la guía de SSO entre aplicaciones.
El id_token de una reutilización no trae el claim sid
- Causa probable: la petición cayó al flujo de login completo (por ejemplo, por
login_required/interaction_requiredprevios) —sidsolo se emite cuando hay una sesión SSO activa detrás del token. - Solución: verifica en la respuesta de autorización si recibiste
codedirecto (reutilización) o tuviste que pasar por el QR (login completo).
Tu redirect_uri recibe error=invalid_request
- Causa probable:
prompt=nonecombinado con otro valor (por ejemplo,none login), unmax_agemal formado (negativo, decimal o no numérico) o, en un request object, unpromptque no es un string. El motivo concreto llega enerror_description. - Solución: corrige el parámetro de la petición. Consulta Comportamiento según
prompt.
¿Sigues sin resolverlo?¶
Contacta con soporte. Adjunta:
- Endpoint y método exacto.
- Request completa (sanitizando secretos).
- Respuesta recibida.
trace-idsi la respuesta lo incluye.