【问题标题】:Enable multiple audience in keycloak via kcadm通过 kcadm 在 keycloak 中启用多个受众
【发布时间】:2021-05-28 22:59:50
【问题描述】:

我有微服务生态系统,与之交互的所有用户都需要对 keycloak 安装进行身份验证并接收 jwt 令牌。

一切都很好,我使用这个 sn-p 启用了观众支持:

/opt/jboss/keycloak/bin/kcadm.sh \
    create clients/d3170ee6-7778-413b-8f41-31479bdb2166/protocol-mappers/models -r your-realm \
    -s name=audience-mapping \
    -s protocol=openid-connect \
    -s protocolMapper=oidc-audience-mapper \
    -s config.\"included.client.audience\"="your-audience" \
    -s config.\"access.token.claim\"="true" \
    -s config.\"id.token.claim\"="false"

如此处所述:Add protocol-mapper to keycloak using kcadm.sh

这很好,它有效。我的问题是,如何为观众启用多个值?我的意思是,我想允许同一个用户使用相同的令牌使用 2 个不同的服务 - 每个服务都应该有不同的受众。

令牌应如下所示:

{
  "aud": [
    "audience-1",
    "audience-2"
  ]
}

其中audience-1 是第一个服务预期的受众,audience-2 是第二个服务预期的受众。

甚至可以通过命令行来做到这一点吗?

【问题讨论】:

  • 这个问题你解决了吗?
  • 我想我刚刚做到了。祝你好运!

标签: command-line keycloak


【解决方案1】:

我想我可能已经找到了答案。或者至少它对我有用:

kcadm.sh create clients/CLIENT_ID/protocol-mappers/models -r REALM_NAME \
  -s name=audience-mapping \
  -s prodocol=openid-connect \
  -s protocolMapper=oidc-audience-mapper \
  -s config.\"included.client.audience\"="audience" \
  -s config.\"access.token.claim\"=\"true\" \
  -s config.\"id.token.claim\"=\"false\"

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2022-07-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-05
    • 2021-04-14
    • 1970-01-01
    相关资源
    最近更新 更多