KeyCloak /userinfo 不返回用户信息,returns 似乎是令牌

KeyCloak /userinfo not returning user info, returns what appears to be a token

这是我在邮递员中尝试的流程。

  1. 获取访问令牌 {{服务器}}/auth/realms/{{领域}}/protocol/openid-connect/token

我得到了访问令牌。我再运行下查询

  1. {{服务器}}/auth/realms/{{领域}}/protocol/openid-connect/userinfo

我把这些放在 headers Content-Type: application/x-www-form-urlencoded 授权:不记名{{access_token}}

我在 return 中得到一个随机字符串 eyJhbGciOiJSUzI1NiIsInR5cCIgOiAiSldUIiwia2lkIiA6ICJnN0FHMmJXMmhmQzBLTHJ0S1NUV2V4eTBGWVhsYklybXVEdnF0aDF2MFpNIn0.eyJzdWIiOiIxOGI0OTJhMy0wOGFlLTQ2NjQtODBjNi1iZGQ5Nzk2ODdiMzQiLCJhdWQiOiJibGluZHNwb3QtYXV0aCIsImlzcyI6Imh0dHA6Ly9sb2NhbGhvc3Q6ODA4MC9hdXRoL3JlYWxtcy9CbGluZHNwb3QifQ.UNyZ2AifgqK9NAiSVwWMFT4_EEleMBztodPHu19NrzIt0DUteK4gfYlgAf-Yfk6w3ue3TyjpD93HFlM-1AG2bHgIyIxI01IbEB2ew9b8xgLiexLrQkgQHIWWWFxSOqQCBo0VPgY3yi0ib3sqeBAcxpvfOhtvQuEH0lHdPFXh8DTJQL18Q3TAhTRpknpwIQ5mpjhaeIW2HXpExrPp6-35r2riPifS_nFNaTqPTSWAFHBiqFEa2_PnQcC6f09jGQYYGkjHnetuAdcmxmhskb59YYlqvRpvezi-Af9IHNhCDad0zomMJK5ajIYUcaXWpAuQZMhPp1OvTB79Olc-YUUOIg

用户信息规范未指定 Content-Type: application/x-www-form-urlencoded header - 参见 https://openid.net/specs/openid-connect-core-1_0.html#UserInfoRequest

所以使用标准 GET 请求 {{server}}/auth/realms/{{realm}}/protocol/openid-connect/userinfoAuthorization: Bearer {{access_token}} header。

要获取用户信息,您必须使用此端点发出获取请求:{{keycloak_url}}/auth/realms/{{realm}}/protocol/openid-connect/userinfo, 在授权中:承载令牌

要获取 userInfo 作为 JSON 响应,请确保在 Keycloak 的客户端设置中将“用户信息签名响应算法”设置为“未签名”。