如何获取 keycloak 中 userinfo 端点的回复中包含的角色。我在 keycloak 中为用户定义了“角色映射”。当我调用 userinfo 端点时,我得到电子邮件名称等字段,但角色不包含在回复中。当我调用 auth 端点时,我得到 access_token 并且在字段范围中包含角色。以下是来自 auth 端点的回复:
access_token" QJsonValue(string, "eyJhb...")
"expires_in" QJsonValue(double, 300)
"not-before-policy" QJsonValue(double, 0)
"refresh_expires_in" QJsonValue(double, 1800)
"refresh_token" QJsonValue(string, "eyJhb...")
"scope" QJsonValue(string, "profile email roles")
"session_state" QJsonValue(string, "20b48536-4b38-4aa6-9072-e8309833402e")
"token_type" QJsonValue(string, "bearer")
我还尝试使用属性“scope=roles”调用 userinfo 端点,但这不起作用。
正如有人已经提到的,这是一个错误。我听说最新版本的 keycloak 已经修复了这个问题。
我最终修复了这个设置,而没有升级到 keycloak 的修复版本。
当您添加用户领域角色时,它将具有“realm_access.roles”作为令牌声明名称。你需要将其更改为"roles"。然后它将在用户信息中正确显示。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)