You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

KeyCloak调用/userinfo接口未返回用户信息仅返回类token字符串

问题根因

Keycloak的OIDC UserInfo端点默认遵循OIDC规范开启了响应签名配置,返回的是签名后的JWT格式用户信息,并非接口调用错误,也不是返回了新的token。你拿到的字符串本身就包含完整的用户信息,仅需做解码处理或者调整配置即可拿到明文内容。

解决方案

方案一:直接解析返回的JWT内容

无需调整Keycloak配置,直接处理返回值即可:

  • 将返回的字符串按.分割,取中间的Payload段,做Base64Url解码就能得到明文的用户信息JSON
  • 你提供的返回串解码后已包含sub(用户唯一标识)、aud(客户端ID)、iss(签发地址)字段,缺少其他自定义字段和基础用户字段的原因是token申请环节的scope配置不全

方案二:调整客户端配置返回明文JSON

在Keycloak后台修改配置,让接口直接返回可读JSON:

  1. 进入对应realm的Clients页面,找到你当前使用的客户端
  2. 切换到Settings标签,下拉到「Access settings」模块
  3. 将User info response signature algorithm选项设置为none/未签名
  4. 保存配置后重新获取access token调用UserInfo接口,即可直接拿到明文用户信息
额外说明
  • 你当前的请求头配置完全符合要求,不需要修改Content-Type或Authorization字段
  • 若拿到的用户信息缺少期望的属性(如用户名、邮箱、手机号),请检查两项配置:
    • 调用token接口时是否传入了对应scope(比如profile、email)
    • 客户端的Client scopes配置中,对应scope是否添加了用户属性的Mapper映射

内容的提问来源于stack exchange,提问作者Michael McDermott

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 16:09:02