【发布时间】: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