能否仅使用access token访问Keycloak admin console?
Keycloak Access Token访问Admin Console相关问题解答
结论
不可以仅通过在请求头中携带access token的方式直接访问Keycloak Admin Console页面。
原因说明
- Keycloak Admin Console是前端单页应用,页面静态资源的加载逻辑本身不校验
Authorization: Bearer {token}请求头,服务端对页面请求的身份校验依赖会话Cookie,你直接携带请求头发起GET请求时,服务端无法识别你的身份,会直接重定向到登录页。 - 你之前调用的userinfo端点属于OIDC标准API接口,这类后端API本身就设计为支持Bearer Token校验,所以携带token请求可以正常返回响应,和Admin Console的页面访问逻辑完全不同。
替代方案
如果你的目标是管理Keycloak资源,不需要请求Admin Console的可视化页面,直接调用Keycloak Admin REST API即可,所有Admin Console支持的管理操作都可以通过API完成,请求时携带拥有对应权限的access token即可正常响应,示例接口如下:
- 查询指定realm下的用户列表:
GET {server}/auth/admin/realms/{realm}/users - 创建新用户:
POST {server}/auth/admin/realms/{realm}/users
如果确实需要访问可视化的Admin Console页面,需要通过OIDC授权流程完成登录,不能直接通过携带请求头访问页面地址的方式进入。
内容的提问来源于stack exchange,提问作者Dennis Meissel
相关产品推荐
相关产品推荐

