oauth-2.0 - 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 提出请求。请解释!
解决方案
当您的客户端具有公共访问类型时,您似乎无法使用 /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
它工作正常。
推荐阅读
- typescript - 如何确保 ionic-selectable 可以运行 onChange 事件两次?
- ios - PHAsset 视频 EXIF 元数据检索
- c++ - C++ 随机字符串输出问题
- python - 我收到一个错误“
当我使用 __slots__ 时返回了带有错误集的结果 - python - CV2为图像返回NoneType?
- django - 如果我在集群上使用 Ingress-Nginx 服务,是否需要在 Kubernetes 集群中使用 nginx 容器来提供静态文件?
- wordpress - 当您复制一个部分并隐藏一个用于移动设备和一个用于桌面时,使锚点起作用
- python - 如何删除列表中的前 50 个项目而不复制它?
- javascript - 尝试使用增益节点增加视频音量,而是静音
- php - 为用户身份验证生成“令牌”的最佳方法是什么