在keycloak中集成了各種社區用戶的登錄與同步方案,當用戶從第三方完成oauth認證之後,回調到keycloak的endpoint地址,在這裡將會獲取社區用戶的信息,完成對數據從社區網站到keycloak網站的同步操作,下麵介紹3種同步時的類型,下圖是配置同步截圖: 各種模塊介紹 在Keyclo ...
在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獲取用戶信息時出錯,解決方法如下:
作者:倉儲大叔,張占嶺,
榮譽:微軟MVP
QQ:853066980
支付寶掃一掃,為大叔打賞!