我有微服务生态系统,与之交互的所有用户都需要向keycloak安装进行身份验证,并接收jwt令牌。
一切都很好,我使用以下代码片段启用了观众支持:
/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
这很好,它起作用了。我的问题是,如何为受众启用多个值?我的意思是,我希望允许同一个用户使用两个不同的服务,每个服务都应该有不同的受众。
令牌应如下所示:
{
"aud": [
"audience-1",
"audience-2"
]
}其中audience-1是第一个服务预期的受众,audience-2是第二个服务预期的受众。
有没有可能通过命令行来做到这一点呢?
发布于 2021-05-20 01:29:20
我想我可能找到答案了。或者至少它对我有效:
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\"https://stackoverflow.com/questions/66387918
复制相似问题