令牌内省
根据客户端请求,自省终端读取不透明访问和/或刷新令牌。也称为令牌信息。
# Initial setup
from your_validator import your_validator
server = WebApplicationServer(your_validator)
# Token revocation
uri = 'https://example.com/introspect'
headers, body, http_method = {}, 'token=sldafh309sdf', 'POST'
headers, body, status = server.create_introspect_response(uri,
headers=headers, body=body, http_method=http_method)
from your_framework import http_response
http_response(body, status=status, headers=headers)
- class oauthlib.oauth2.IntrospectEndpoint(request_validator, supported_token_types=None)[源代码]
自省令牌终端。
该端点定义了一种方法,用于查询OAuth 2.0授权服务器,以确定OAuth 2.0令牌的活动状态,并确定有关该令牌的元信息。OAuth 2.0部署可以使用此方法将有关令牌的授权上下文的信息从授权服务器传送到受保护的资源。
为了防止访问令牌的值通过查询参数泄漏到服务器端日志中,提供令牌自检的授权服务器可能不允许在自检端点上使用HTTP GET,而是要求在自检端点处使用HTTP POST方法。
- create_introspect_response(uri, http_method='POST', body=None, headers=None)[源代码]
创建自省有效或无效的响应
如果授权服务器在没有附加信息的情况下无法确定令牌的状态,则它应该返回指示令牌处于非活动状态的自检响应,如第2.2节所述。
- validate_introspect_request(request)[源代码]
确保请求有效。
受保护的资源使用HTTP POST请求调用自检端点,该请求的参数发送为“application/x-www-form-urlencode”。
需要令牌。令牌的字符串值。
TOKEN_TYPE_HINT可选。
有关提交进行自省的令牌类型的提示。受保护资源可以传递该参数以帮助授权服务器优化令牌查找。如果服务器无法使用给定提示定位令牌,则它必须将搜索扩展到其支持的所有令牌类型。授权服务器可以忽略该参数,特别是在它能够自动检测令牌类型的情况下。
Access_Token:中定义的访问令牌 [RFC6749] , section 1.4
REFRESH_TOKEN:中定义的刷新令牌 [RFC6749] , section 1.5
自检端点可以接受其他可选参数以向查询提供进一步的上下文。例如,授权服务器可能希望知道访问受保护资源的客户端的IP地址,以确定正确的客户端是否可能呈现令牌。此参数或任何其他参数的定义超出了本规范的范围,将由服务文档或本规范的扩展来定义。