8.5.2. 获取有关 RPT 的信息
令牌内省本质上是 OAuth2 令牌内省- 兼容端点,您可以获取有关 RPT 的信息。
http://${host}:${port}/auth/realms/${realm_name}/protocol/openid-connect/token/introspect
http://${host}:${port}/auth/realms/${realm_name}/protocol/openid-connect/token/introspect
要使用此端点内省 RPT,您可以按照如下方式向服务器发送请求:
curl -X POST \
-H "Authorization: Basic aGVsbG8td29ybGQtYXV0aHotc2VydmljZTpzZWNyZXQ=" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d 'token_type_hint=requesting_party_token&token=${RPT}' \
"http://localhost:8080/auth/realms/hello-world-authz/protocol/openid-connect/token/introspect"
curl -X POST \
-H "Authorization: Basic aGVsbG8td29ybGQtYXV0aHotc2VydmljZTpzZWNyZXQ=" \
-H "Content-Type: application/x-www-form-urlencoded" \
-d 'token_type_hint=requesting_party_token&token=${RPT}' \
"http://localhost:8080/auth/realms/hello-world-authz/protocol/openid-connect/token/introspect"
注意
以上请求使用 HTTP BASIC 并通过客户端凭证(客户端 ID 和 secret)来验证客户端试图内省令牌,但您可以使用 Red Hat Single Sign-On 支持的任何其他客户端身份验证方法。
内省端点需要两个参数:
token_type_hint
使用 request_party_token 作为此参数的值,这表示您要内省 RPT。
token
使用令牌字符串,因为服务器在授权过程中返回,作为此参数的值。
因此,服务器响应是:
如果 RPT 没有被激活,则会返回这个响应:
{
"active": false
}
{
"active": false
}