gpt4 book ai didi

jwt - 如何从 Keycloak 为 OIDC 流程修改 JWT 中的现有声明?

转载 作者:行者123 更新时间:2023-12-05 01:53:47 24 4
gpt4 key购买 nike

我正在为身份验证服务生成 JWT,我们使用 Keycloak 作为 OAuth 服务器。

我已经设置了一个领域 R、一个客户端 C 和一个用户 U。我设置了一个协议(protocol)映射器以在“aud”中包含“C”。我为 U 生成了 JWTtoken,当我检查负载时,我看到了 "aud": ["C", "account"]。太好了,我希望 C 出现。但我不希望 "account" 出现在 "aud" 中。

如何在 keycloak 中配置它?同样,范围为 - "scope": "email profile test-client-rhs" 我希望从中删除 "email profile"。我一直在谷歌上搜索很多东西,并在 Keycloak 中尝试了不同的东西,但我无法让它以某种方式工作。

最佳答案

I generated the JWTtoken for U and when I check the payload, I see"aud": ["C", "account"]. Which is great, I wanted C to be present. ButI do not want "account" to be present in the "aud".

您可以使用 Hardcoded claim Mapper 代替 audience Mapper:

  • Token Claim Name 设置为 aud
  • 声明值设置为C
  • 添加到访问 token 设置为ON

此映射器将覆盖原始声明 "aud": "account""aud": "C"

像这样:

enter image description here

How do I configure this in keycloak? Similarly, the scope reads -"scope": "email profile test-client-rhs" and I wish to remove "emailprofile" from it.

为此你需要去:

  • 客户端所在的领域
  • 去找客户并选择客户
  • 单击“客户端范围”选项卡
  • "Assigned Default Client Scopes"
  • 中删除范围 emailprofile

像这样:

enter image description here

关于jwt - 如何从 Keycloak 为 OIDC 流程修改 JWT 中的现有声明?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/71025013/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com