Azure Ad 作为 keycloak 中的 OIDC 身份提供程序,但随机 UUId 被添加为 IDP“userid”,并且无法与现有用户同步

2024-04-02

我已使用 azure ad 配置 keycloak 作为 OIDC 身份提供商。 当我从我的网络应用程序登录时,我会重定向到微软登录页面。登录后,我看到我被自动添加为 keycloak 中的用户。我看到 keycloak 使用特定的身份提供者 ID 和身份提供者用户名进行匹配,我看到电子邮件被填充为身份提供者用户名,但我看到随机 UUID 被填充为身份提供者 ID,我无法弄清楚这些值是如何产生的已填充,但我在 Azure AD 中找不到此身份提供商 ID。

如果我登录时 keycloak 中已经有一个具有相同电子邮件 ID 的用户,我将无法创建该用户,并且它不会自动同步该用户。

我找不到任何方法可以看到从天蓝色 AD 发送的响应。让我知道我们可以检查 Azure AD 的此响应的方法。

任何帮助将非常感激。


这不是随机 UUID,它是从 IDP 返回的 ID 令牌中的子值。为了了解这里到底发生了什么,我们需要深入研究一下。

默认情况下,如果您不提供值用户信息网址或者您已经检查过禁用用户信息它将查看收到的 ID 令牌,并将令牌中的子值作为本地 keycloak 用户的用户名。 如果您提供了有效的用户信息端点,它将首先检查用户信息端点中是否存在电子邮件值,如果存在,它将采用该值,如果不存在,它将默认返回用户中的子值信息端点。

If you want something other than email to be taken as the username eg :- UPN you will then have to create a claim in the your IDP in this case Azure and add that claim to the ID token. Azure Claim Creation

Now you need to create a claim mapper in the keycloak side to match the value in claim to an attribute/UserEntityModel in keycloak. Keycloak claim mapper

完成所有这些步骤后,您应该可以开始了,您可以查看以下链接以了解有关 Keycloak 映射器和 Azure 声明映射的更多信息。

https://www.keycloak.org/docs/latest/server_admin/#_mappers https://www.keycloak.org/docs/latest/server_admin/#_mappers

https://learn.microsoft.com/en-us/azure/active-directory/develop/active-directory-optional-claims https://learn.microsoft.com/en-us/azure/active-directory/develop/active-directory-optional-claims

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

Azure Ad 作为 keycloak 中的 OIDC 身份提供程序,但随机 UUId 被添加为 IDP“userid”,并且无法与现有用户同步 的相关文章

随机推荐