200. active indica si el token sigue vivo.
Cuándo usar introspección
Usa este endpoint cuando:- Un canal ya intercambió un ID token OIDC por un access token de Fire spark
- Un proxy o API propia del socio necesita proteger sus rutas con ese mismo token
- El socio solo debe confirmar que el token es real y que sigue dentro de su hora de vida
Cómo lo usa el proxy del socio
1
El canal obtiene un access token de Fire spark
El cliente autentica al customer con tu proveedor de identidad y llama a
POST /oauth/exchange. Fire spark
devuelve un token Bearer que dura una hora.2
El cliente llama al proxy del socio
El mismo header
Authorization: Bearer llega al endpoint del socio. El
socio no decodifica ni confía en el token por su cuenta.3
El proxy inspecciona el token
El proxy envía el token a
POST /oauth/introspect. Fire spark comprueba la
firma, aud y exp.4
El proxy autoriza su propia ruta
Si
active es true, compara merchant_id y env con el tenant del socio
y atiende la solicitud. Cachea el resultado hasta exp.Solicitud de introspección
Envía unPOST a /oauth/introspect con Content-Type: application/json. Esta ruta no requiere header Authorization.
Cuerpo de la solicitud
Campos de la respuesta
Tokens expirados, falsificados o mal formados devuelven
{ "active": false }
con HTTP 200. El cuerpo no indica el motivo. Si falta token, la validación
responde 400.Caché
Un token vigente sigue siéndolo hastaexp. Hoy no hay lista de revocación, así que una caché con clave el token y retención hasta exp equivale a una introspección nueva.
Cachear hasta exp
Propiedades de seguridad
- Sin tokens emitidos por el socio: El único access token es el que Fire spark emitió en el exchange.
- Sin secreto de firma compartido: Los socios nunca reciben
AUTH_SECRET. No pueden falsificar tokens de Storefront. - Ligado al comercio: Compara siempre
merchant_id(yenv) antes de servir datos del socio. Un token válido de otro comercio no debe pasar. - Vida corta: Los tokens expiran a la hora. Vuelve a intercambiarlos desde el canal cuando se refresque la sesión del IdP.