建议:应用系统优先使用“公钥获取和令牌验签”,在应用系统本地处理,结合本地缓存机制,提升接口性能;
令牌验证是在 OAuth 2.0 授权框架中使用的一个端点(endpoint),其主要用途是允许资源服务器查询授权服务器,以验证某个访问令牌(access token)的当前状态和相关的授权信息。这个过程使得资源服务器能够验证接收到的访问令牌是有效的、未过期的,并且确实是由授权服务器颁发的。
具体来说,用途包括: 1、验证访问令牌的有效性:资源服务器可以通过向授权服务器发送请求来验证访问令牌是否有效。 2、获取令牌的详细信息:除了验证令牌,资源服务器还可以获取关于该令牌的额外信息,如颁发给哪个客户端(client_id)、令牌的有效期、令牌所代表的用户(如果适用)、以及令牌的作用域(scope)等。 3、增强安全性:通过定期验证访问令牌的有效性,资源服务器可以更有效地防止过期或已撤销的令牌被用于访问受保护的资源。
请求方式:POST(HTTPS) Content-Type: application/x-www-form-urlencoded
请求地址:
生产环境:https://esp.xkw.cn/oauth2/introspect
沙箱测试环境:https://esp.doc.xkw.cn/oauth2/introspect
详细说明开发者可以参考The OAuth 2.1 Authorization Framework
参数 | 必须 | 说明 |
---|---|---|
client_id | 是 | 企业服务平台分配的client_id |
client_secret | 是 | 企业服务平台分配的client_secret |
token | 是 | 需要验证token |
token_type_hint | 是 | 一般是验证access_token,支持的值有code,access_token,id_token,refresh_token,user_code,device_code |
参数 | 说明 |
---|---|
active | 是否有效 |
... | 其他 |
error_description | 错误描述 |
error_code | 错误码 |
error_uri | 错误详细说明地址 |
a) 成功返回示例如下:
{
"active": true,
"sub": "xy07619",
"aud": [
"oa"
],
"azp": "oa",
"auth_time": 1718700583468,
"iss": "https://esp2.doc.xkw.cn",
"exp": 1719132741,
"iat": 1718700741,
"jti": "3dfc76ff082e43b8a96bcc17803e1dff",
"sid": "AVVtc04hf4fIxx02lZiekVc9nbW4JiGDViJKrc5-V8k",
"client_id": "oa"
}
b)失败返回示例如下:
{
"active": false
}
或者
{
"error_description": "client_id不正确",
"error_code": "100031",
"error_uri": "https://esp.xkw.cn/doc/error?q=error_code"
}
对于结果的判断,一般只要判断返回的内容active为true即可。