Keycloak集成AzureAD:如何将Provider User ID从sub改为oid
解决Keycloak使用AzureAD的oid作为Provider User ID的问题
核心解决方案
直接修改AzureAD身份提供商的User ID Attribute配置,将默认的sub替换为oid,这会让Keycloak在首次登录时直接用AzureAD的oid作为Provider User ID,而非动态生成的sub。
具体操作步骤
- 登录Keycloak管理控制台,进入目标Realm。
- 左侧菜单选择Identity Providers,找到已配置的AzureAD提供商,点击进入编辑页面。
- 在配置页面的Settings标签下,找到User ID Attribute字段(默认值为
sub),将其修改为oid。 - 点击页面底部的Save保存配置。
处理现有用户(重要)
对于已经通过旧sub创建账户的用户,需要手动更新身份提供商链接:
- 进入Users菜单,找到目标用户并进入详情页。
- 切换到Identity Provider Links标签页,删除原有的AzureAD链接。
- 让用户重新通过AzureAD登录,此时Keycloak会用oid创建新的身份提供商链接,若用户邮箱等基础信息匹配,会自动关联到原有账户;若不匹配,需手动合并或调整用户信息。
验证配置
- 邀请新用户通过AzureAD登录Keycloak,检查用户Identity Provider Links中的ID是否为AzureAD的oid值。
- 测试自动化预配流程,确认可通过oid正确识别并关联Keycloak用户。
内容的提问来源于stack exchange,提问作者Momo
相关产品推荐
相关产品推荐

