在 keycloak id_token 中获取 Azure 组信息
Posted
技术标签:
【中文标题】在 keycloak id_token 中获取 Azure 组信息【英文标题】:Get Azure groups information in keycloak id_token 【发布时间】:2021-01-27 17:47:44 【问题描述】:我已将 Azure Active Directory 注册为 Keycloack 服务器中的身份提供程序。 我在 azure 的 id_token 中获取了组数组,它看起来像:
aud: "https://contoso.onmicrosoft.com/scratchservice",
iss: "https://sts.windows.net/b9411234-09af-49c2-b0c3-653adc1f376e/",
iat: 1416968588,
nbf: 1416968588,
exp: 1416972488,
ver: "1.0",
tid: "b9411234-09af-49c2-b0c3-653adc1f376e",
amr: [
"pwd"
],
roles: [
"Admin"
],
oid: "6526e123-0ff9-4fec-ae64-a8d5a77cf287",
upn: "[hidden email]",
unique_name: "[hidden email]",
sub: "yf8C5e_VRkR1egGxJSDt5_olDFay6L5ilBA81hZhQEI",
family_name: "User",
given_name: "Sample",
groups: [
"0e129f6b-6b0a-4944-982d-f776000632af",
"323b13b3-1851-4b94-947f-9a4dacb595f4",
"6e32c250-9b0a-4491-b429-6c60d2ca9a42",
"f3a161a7-9a58-4e8f-9d47-b70022a07424",
"8d4c81b2-b1ad-476d-9574-544d155aa6ff",
"1bf80164-ff24-4866-b19c-6212e5b9a847",
"76f80127-f2cd-46f4-8c52-8edd8bc749b1",
"0ba27160-44d0-42b5-b90c-47b3fcc48e35"
],
appid: "b075ddef-0efa-123b-997b-de1337c29185",
appidacr: "1",
scp: "user_impersonation",
acr: "1"
在 Keycloak 服务器生成的 id_token 中,没有分组。 如何在 keycloack id_token 中获取 azure AD 组。
【问题讨论】:
有类似问题:keycloak.discourse.group/t/… 【参考方案1】:我通过创建映射器解决了这个问题。
步骤:
-
在身份提供者中创建属性导入器类型映射器
在客户端创建用户属性类型映射器
【讨论】:
以上是关于在 keycloak id_token 中获取 Azure 组信息的主要内容,如果未能解决你的问题,请参考以下文章
http://jwt.io 如何检索 keycloak 签名密钥?
如何使用 id_token 从 Azure Function 应用程序获取 Azure access_token?
是否可以从 Google 获取 id_token 中的个人资料信息?
OpenID Connect id_token 和 access_token 如果是web server获取的,需要验证吗?