跳到正文
MuoCeon 文档中心
v1oauth 上下文

自省

POST /v1/oauth/introspect:RFC 7662 令牌内省,仅机密客户端可用。

POST {issuer}/introspect 回答「这枚令牌现在还有效吗」。判断依据是服务端当前状态,而不是令牌自述的 claim——会话被撤销、被刷新轮换掉的旧令牌,都会返回 active: false。

前置条件

条件说明
客户端认证必须先以客户端身份认证
客户端类型仅机密客户端;公开客户端会被拒
缓存响应固定 no-store

请求

参数类型必填说明
tokenstring✅待检查的令牌
token_type_hintstring可选查找提示,不影响结果
curl -X POST 'https://id.example.com/v1/oauth/introspect' \
  -H 'Content-Type: application/x-www-form-urlencoded' \
  -u "$CLIENT_ID:$CLIENT_SECRET" \
  -d "token=$ACCESS_TOKEN"

响应

{
  "active": true,
  "scope": "openid profile",
  "client_id": "cli_...",
  "sub": "usr_...",
  "aud": "auth",
  "exp": 1763112000,
  "iat": 1763111100
}

无效或已撤销时只返回 { "active": false },其余字段全部省略。

不要缓存自省结果

自省是「此刻是否有效」的即时判断。一旦被缓存,撤销就会在缓存窗口内失效——攻击者拿一枚已撤销的令牌仍能通过。

什么时候用

场景建议
资源服务器验签优先用 公钥 本地验签,省一次往返
需要知道令牌是否被撤销用本端点,或依赖短有效期 + 刷新
公开客户端不可用;用资源服务器验签

相关

本页目录