gpt4 book ai didi

authentication - 首次使用 keycloak 作为身份代理登录时,自动将特定于客户端的角色添加到来自 IDP 的用户数据

转载 作者:行者123 更新时间:2023-12-05 04:09:03 24 4
gpt4 key购买 nike

因此,我使用 Keycloak 3.2.1 并添加了 google 作为社交登录提供商。到目前为止,身份验证工作正常。现在我尝试使用(基于角色的)授权进行试验。

所以我登录(使用 js-adapter)并查看 token ,但没有名称或角色等映射。 jwt.io 给我看这个:

{
"jti": "8a3584e9-678d-4d5c-b1a1-f5a795d49ecb",
"exp": 1507886130,
"nbf": 0,
"iat": 1507885830,
"iss": "http://localhost:8080/auth/realms/social-auth",
"aud": "product-app",
"sub": "7bd7197c-f9af-4b54-b052-993e52467be1",
"typ": "Bearer",
"azp": "product-app",
"nonce": "87cd2e86-4f26-4371-9c08-9401dad85e45",
"auth_time": 1507885830,
"session_state": "0102a459-48f8-4b03-9004-7e1efb125f65",
"acr": "1",
"allowed-origins": [
"http://localhost:8088"
],
"resource_access": {}
}

而js适配器的keycloak.resourceAccess对象为空。现在,我在我的管理控制台中看到了用户,并且可以手动向他添加客户端角色。然后它们按预期显示在 .resourceAccess 中作为关键产品应用程序的数组。不过,我想在第一次登录时自动执行此操作。

比如:“用户使用 social-login-provider 登录 product-app。登录时,我会自动将角色附加到他和他的 token 上,并在 js-adapter 的 resourceAccess 中返回它们”。

因此,对于作为身份提供者的谷歌,我激活了“首次代理登录”——管理用户界面中的流程,但我没有看到任何选项可以说“向映射自的每个用户添加客户角色 x、y、...”首次登录时的身份提供者”。有可能以某种方式做到这一点吗?遗憾的是,在文档或 tuts 和 vids 中还没有找到任何东西。

最佳答案

在 Keycloak 的管理控制台中,在菜单项“角色”下,您会找到一个“默认角色”选项卡。在那里您可以选择全局角色和/或客户特定角色以自动分配给新用户。

关于authentication - 首次使用 keycloak 作为身份代理登录时,自动将特定于客户端的角色添加到来自 IDP 的用户数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46726833/

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