【问题标题】:Keycloak "Advanced Claim To Group" identity provider mapper exampleKeycloak \"Advanced Claim To Group\" 身份提供者映射器示例
【发布时间】:2022-08-11 11:39:17
【问题描述】:

我正在使用 Keycloak 18.0.2。 Okta 是我配置的身份提供者之一。我正在使用 OIDC 提供程序(不是 SAML)。我想将来自 Okta 的传入组声明映射到我在 Keycloak 中定义的用户组。我找不到很多关于如何在传入列表中搜索特定传入组的示例(Okta 声称的组是一个列表又名数组)。这意味着,在 Okta 中,如果我要为 Okta 授权服务器预览我的令牌,则令牌如下所示:

{
  ...
  \"scp\": [
    \"openid\"
  ],
  \"auth_time\": 1000,
  \"sub\": \"testuser@xyz.com\",
  ...
  \"groups\": [
    \"Group1\",
    \"Group2\",
    \"Group3\"
  ]...
}

在 Keycloak 中,我定义了一个名为“亚太”之类的用户组。在 keycloak 身份映射器提供程序详细信息屏幕中,我想说如果传入的组声明包含 \"Group1\",则映射到组 \"AsiaPacific\",但我似乎无法使其工作。我在此处的“名称”和“值”字段中输入了什么,因为无论我指定什么,它似乎都不起作用?同样,传入组声明的值不是字符串,而是字符串数组。提前致谢。

Identity Provider Mapper in Keycloak

    标签: arrays keycloak okta mapper group


    【解决方案1】:

    让它工作。在调试了 Keycloak 代码后,我发现了问题所在。长话短说,我的 Okta 授权服务器中定义的组声明正在“访问”令牌中传递。 Keycloak 代码希望在“ID”令牌中看到来自 Okta 的组声明。有关详细信息,请参阅github.com/keycloak/keycloak/discussions/13646

    【讨论】:

      猜你喜欢
      • 2018-03-17
      • 2017-12-27
      • 2020-12-02
      • 2020-09-24
      • 2022-11-12
      • 1970-01-01
      • 1970-01-01
      • 2017-09-13
      • 1970-01-01
      相关资源
      最近更新 更多