Integración Backend
AM expone claves públicas vía JWKS y configuración vía descubrimiento OIDC, protocolos estándar que cualquier librería JWT puede usar.
Verifica tokens localmente, confía en los claims y autoriza solicitudes.
Flujo de verificación de tokens
Endpoints
| Endpoint | Propósito |
|---|---|
/.well-known/jwks.json |
Claves de firma públicas |
/.well-known/openid-configuration |
Documento de descubrimiento |
/oauth2/introspect |
Introspección de refresh token |
JWKS
Obtén claves públicas para verificación local:
GET /.well-known/jwks.json
{
"keys": [
{
"kty": "RSA",
"use": "sig",
"kid": "key_...",
"alg": "RS256",
"n": "0vx7agoebG...",
"e": "AQAB"
}
]
}
Puede haber varias claves durante una rotación. Usa el kid del header JWT.
OIDC Discovery
Auto-configura clientes con el documento de discovery:
GET /.well-known/openid-configuration
Devuelve endpoints, algoritmos soportados y capacidades según la especificación de OpenID Connect Discovery.
Claims JWT
Tokens verificados contienen:
| Claim | Descripción |
|---|---|
iss |
URL del issuer |
sub |
Subject (user ID o client ID) |
aud |
Audience |
exp |
Expiración (Unix timestamp) |
iat |
Emitido en (Unix timestamp) |
scope |
Permisos otorgados |
cid |
Client ID |
app |
Application ID |
acc |
Account ID actual |
uid |
User ID (si es usuario autenticado) |
role |
Rol en la cuenta actual |
Caché
- Cachear respuestas JWKS (usa ETag/If-None-Match)
- Refrescar al fallar la verificación de firma (rotación de claves)
- TTL típico: 1 hora
Introspección de tokens
Para refresh tokens o cuando necesitas validación autoritativa:
POST /oauth2/introspect
Content-Type: application/x-www-form-urlencoded
token=...&client_id=...&client_secret=...
Devuelve active: true/false y claims. Los access tokens son JWTs y deberían verificarse localmente con JWKS cuando sea posible.
Relacionado
- OAuth - Emisión de tokens
- Clientes - Configuración de clientes
- Clave de Cliente - Claves de firma