我正在尝试探索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。请解释!
答案 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
工作正常。