Integración Backend
AM expone claves públicas vía JWKS y configuración vía descubrimiento OIDC, para que cualquier librería JWT pueda verificar tokens.
Verifica tokens localmente, confía en los claims y autoriza requests.
Flujo de verificación
Endpoints
| Endpoint | Propósito |
|---|---|
/.well-known/jwks.json?client_id=... | Claves de firma públicas |
/.well-known/openid-configuration?client_id=... | Documento de descubrimiento |
/oauth2/introspect | Introspección de refresh token |
JWKS
Obtén claves públicas para verificación local. client_id es requerido:
GET /.well-known/jwks.json?client_id=cid_...
{
"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?client_id=cid_...
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) |
role | Rol en la cuenta actual |
Caché
- Cachear respuestas JWKS (ETag/If-None-Match)
- Refrescar al fallar verificación (rotación)
- TTL típico: 1 hora
Introspección de tokens
Para refresh tokens o 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.
Relacionado
- OAuth - Emisión de tokens
- Clientes - Configuración de clientes
- Clave de Cliente - Claves de firma