Appearance
Discovery OAuth2/OIDC
Fuente: BASE_URL_IDP/.well-known/openid-configuration
El discovery permite que el cliente no tenga endpoints hardcodeados y obtenga metadatos oficiales del proveedor.
Metadatos principales
issuer:BASE_URL_IDPauthorization_endpoint:BASE_URL_IDP/auth/public/authorize/token_endpoint:BASE_URL_IDP/oauth2/tokenuserinfo_endpoint:BASE_URL_IDP/oidc/userinfojwks_uri:BASE_URL_IDP/.well-known/jwks.jsonintrospection_endpoint:BASE_URL_IDP/oauth2/introspectrevocation_endpoint:BASE_URL_IDP/oauth2/revokeend_session_endpoint:BASE_URL_IDP/auth/logout/client
Cómo consumir discovery en runtime
- Cargar el documento de discovery al iniciar la aplicación o en bootstrap de autenticación.
- Cachear metadatos en memoria con TTL corto (por ejemplo, 5 a 15 minutos).
- Usar exclusivamente endpoints publicados por discovery para reducir desalineaciones por cambios del proveedor.
Ejemplo:
bash
curl -sS 'BASE_URL_IDP/.well-known/openid-configuration'Capacidades declaradas
response_types_supported:coderesponse_modes_supported:querygrant_types_supported:authorization_coderefresh_tokenclient_credentials
code_challenge_methods_supported:S256id_token_signing_alg_values_supported:RS256token_endpoint_auth_methods_supported:client_secret_postclient_secret_basic
Interpretación práctica:
response_types_supported: codeconfirma que el login debe implementarse con código de autorización.code_challenge_methods_supported: S256confirma uso de PKCE en modo seguro.id_token_signing_alg_values_supported: RS256indica que la verificación de firma usa clave pública RSA (JWKS).token_endpoint_auth_methods_supporteddefine cómo autenticar cliente en/oauth2/token(según tipo de cliente).
Scopes soportados
openidprofileemaildirectory:all:users:readdirectory:external:users:readdirectory:internal:users:readdirectory:admin:users:read
Recomendación:
- Solicitar solo scopes mínimos por principio de mínimo privilegio.
- Para login base, comenzar con:
openid profile email. - Agregar scopes de directorio solo cuando el caso de uso lo requiera.
- El sistema puede definir scopes adicionales para el acceso a datos específicos de Identidad, como los datos de ciudadanía.
- El sistema puede definir scopes dinámicos para la incorporación de nuevos servidores de recursos que deleguen autorización a la plataforma de identidad.
- Para consultar la existencia y forma de uso de scopes adicionales consultar al equipo de informática de la Escuela de Jueces del Estado.
Claims soportados
subnamegiven_namefamily_nameemailnro_documento_identidadtipo_documento_identidadamracrauth_timenonceat_hashiatexpissaudtipo_usuariois_eje_sysadmin
Validación de tokens y firma
Para id_token o JWT firmados con RS256:
- Obtener llaves en
jwks_uri. - Buscar la llave por
kiddel header del token. - Verificar firma y validar claims críticos:
iss,aud,exp,iat,nonce(si aplica).
Esto sigue OIDC Core y los RFC 7517/7519.
