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

在keycloak中集成了各种社区用户的登录与同步方案,当用户从第三方完成oauth认证之后,回调到keycloak的endpoint地址,在这里将会获取社区用户的信息,完成对数据从社区网站到keycloak网站的同步操作,下面介绍3种同步时的类型,下图是配置同步截图:

各种模块介绍

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

  1. LEGACY(传统模式):

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

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

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

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

微软登录注意事项

我的网站对接了微软三方登录,登录功能已经完成,在获取微软用户信息时,如果这个用户是从微软网站直接注册的,那就没问题的,如果这个用户是通过我的网站跳到微软去注册的,那在登录成功后获取用户信息时,会出现错误Could not obtain user profile from Microsoft Grap,这是什么原因?

像上面看到的,这种是因为用户注册后,邮箱没有验证,导致我们使用微软api获取用户信息时出错,解决方法如下:

posted @   张占岭  阅读(231)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 分享4款.NET开源、免费、实用的商城系统
· 全程不用写代码,我用AI程序员写了一个飞机大战
· MongoDB 8.0这个新功能碉堡了,比商业数据库还牛
· 白话解读 Dapr 1.15:你的「微服务管家」又秀新绝活了
· 记一次.NET内存居高不下排查解决与启示
历史上的今天:
2022-10-11 springboot~对mybatis的start包进行单元测试
2018-10-11 java-vip介绍
2017-10-11 DotNetCore跨平台~一起聊聊Microsoft.Extensions.DependencyInjection
2013-10-11 EF架构~linq模拟left join的两种写法,性能差之千里!
2011-10-11 MVC精华之实现AJAX分页和搜索 及 实现HTML分页和搜索
点击右上角即可分享
微信分享提示