keycloak~社区登录中数据导入的方式

[复制链接]
发表于 2023-10-23 04:45:08 | 显示全部楼层 |阅读模式
在keycloak中集成了各种社区用户的登录与同步方案,当用户从第三方完成oauth认证之后,回调到keycloak的endpoint地址,在这里将会获取社区用户的信息,完成对数据从社区网站到keycloak网站的同步操作,下面介绍3种同步时的类型,下图是配置同步截图:

各种模块介绍

在Keycloak 14.0.0中,IdentityProviderSyncMode 定义了在同步外部标识提供程序(Identity Provider)数据时的三种不同模式:LEGACY、IMPORT 和 FORCE。这些模式用于控制在与外部身份提供程序(例如LDAP或SAML)同步用户数据时如何处理冲突和同步行为。

  • LEGACY(传统模式):

    • 在传统模式下,Keycloak 会尝试从外部身份提供程序导入用户,但如果在 Keycloak 中找不到匹配的用户,则会创建新用户。
    • 如果在外部提供程序中删除了用户,Keycloak 不会自动删除相应的用户帐户,而是将其标记为禁用状态。

  • IMPORT(导入模式):

    • 在导入模式下,Keycloak 会从外部身份提供程序导入用户,但不会创建新用户。它只会更新现有用户的属性,确保与外部提供程序同步。
    • 如果在外部提供程序中删除了用户,Keycloak 不会自动删除用户帐户,而是将其标记为禁用状态。

  • FORCE(强制模式):

    • 在强制模式下,Keycloak 会强制执行与外部身份提供程序的完全同步。这意味着它会创建新用户,更新现有用户的属性,同时还会禁用或删除在 Keycloak 中找不到的用户。
    • 强制模式确保Keycloak中的用户与外部提供程序中的用户保持完全同步。

这些同步模式的选择取决于你的具体需求和使用情况。如果你需要更多控制,并且不希望创建新用户,可以选择导入模式。如果你需要确保Keycloak与外部提供程序完全同步,包括用户的删除,那么强制模式可能更合适。LEGACY模式在某些情况下可能会导致不同步,因此需要谨慎使用。
微软登录注意事项

我的网站对接了微软三方登录,登录功能已经完成,在获取微软用户信息时,如果这个用户是从微软网站直接注册的,那就没问题的,如果这个用户是通过我的网站跳到微软去注册的,那在登录成功后获取用户信息时,会出现错误Could not obtain user profile from Microsoft Grap,这是什么原因?
像上面看到的,这种是因为用户注册后,邮箱没有验证,导致我们使用微软api获取用户信息时出错,解决方法如下:


免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
回复

使用道具 举报

×
登录参与点评抽奖,加入IT实名职场社区
去登录
快速回复 返回顶部 返回列表