Valida el access token en el borde: que lo haya emitido un Authorization Server reconocido, que la firma y la vigencia estén bien, que traiga consentimiento, y que esté vinculado al certificado que el llamador presentó.
iss del token se compara contra una lista configurada. Las direcciones del Authorization Server nunca se derivan del token.PS256.exp con una tolerancia de reloj de 30 segundos.authorization_details — RAR, RFC 9396 — debe venir en el token. Si se configura un type esperado para el recurso, también se comprueba.cnf.x5t#S256 del token debe coincidir con el thumbprint que dejó el paso 1. Es lo que impide usar un token robado desde otro certificado.grant_id, se propaga a su servicio en la cabecera grantId.En el SFA el access token es sender-constrained: vale sólo en manos de quien presenta el certificado para el que fue emitido. El paso 5 es lo que hace efectiva esa garantía en el borde.
| Variable | Obligatoria | Descripción |
|---|---|---|
environmentName | Sí | Ambiente de ejecución — por ejemplo sandbox. |
customerId | Sí | Identificador del customer en la plataforma. |
allowed-issuers | Sí | Lista (CSV) de emisores aceptados en el iss del token. |
jwks-uri | Sí | URL completa del JWKS del Authorization Server. |
resource-server-org-id | Sí | Identificador de organización de su propio resource server. El token sólo se acepta si su aud lo incluye. |
auth-server-call-timeout | No | Timeout en milisegundos de las llamadas al Authorization Server. Por defecto 1000. |
La variable que lleva el ambiente se llama environmentName, no environmentId. environmentId es el nombre de la cabecera con que ese valor viaja hacia el Authorization Server — configurarlo por el nombre de la cabecera no funciona.
| Variable | Obligatoria | Descripción |
|---|---|---|
expected-authorization-details-type | No | Lista de type RAR esperados para el recurso. Si se omite, sólo se comprueba la presencia de authorization_details. |
token-scope | No | Scope disponible para el servicio. En el SFA el scope no es el mecanismo de consentimiento — eso lo resuelve RAR. |
El JWKS se consulta en cada solicitud. Para ambientes con volumen, configure una capa de caché de JWKS en el gateway: reduce la latencia por llamada y la dependencia del Authorization Server en el camino crítico.
code | Cuándo |
|---|---|
SFA_ERR_UNAUTHORIZED | Token ausente, mal formado, con emisor no permitido, firma inválida, vencido, o no vinculado al certificado presentado |
SFA_ERR_INTERNAL | Fallo no previsto durante la validación |
El interceptor completo, tal como se instala en la Sensedia API Platform.
access-token-authorization.js — JavaScript, 27 KB.
Se sirve con extensión .json porque el portal no entrega archivos .js; el contenido es JavaScript. Guárdelo como access-token-authorization.js.
← Anterior: certificate-client-metadata · Siguiente: of-context-params →