KeyCloak服务器的自省端点

时间:2018-07-02 09:16:50

标签: oauth-2.0 openid keycloak

我正在尝试探索KeyCloak服务器的功能,并希望通过使用/ openid-connect / token / introspect端点获取有关访问令牌的信息。

因此,我正在向该端点发送下一个请求

curl -v --data "token_type_hint=access_token&client_id=product- 
app&username=user&token=MY ACCESS TOKEN" 
http://localhost:8080/auth/realms/springdemo/protocol/openid- 
connect/token/introspect

这就是我的回应:

{"error":"invalid_request","error_description":"Client not allowed."}* 
Connection #0 to host localhost left intact

这是我在KeyCloak的日志中看到的:

12:00:18,045 WARN  [org.keycloak.events] (default task-13) 
type=INTROSPECT_TOKEN                                     _ERROR, 
realmId=springdemo, clientId=product-app, userId=null, ipAddress=127.0.0                                     
.1, error=invalid_request, detail='Client not allowed.', 
client_auth_method=client-secret

所以,我听不懂-在这种情况下,关于该产品应用具有公共访问权限,我应该如何正确地请求keycloak。请解释!

1 个答案:

答案 0 :(得分:4)

当客户端具有公共访问类型时,您似乎无法使用/ openid-connect / token / introspect端点。

因此,切换到机密访问类型并使用

curl -v --data "client_secret=YOUR_SECRET9&client_id=product- 
app&username=user&token=YOUR_TOKEN" 
http://localhost:8080/auth/realms/springdemo/protocol/openid- 
connect/token/introspect

工作正常。