單點登入常用有3種方式:
1. 主網域名稱共享cookie
適用於同網域名稱系統的單點登入。所有的子系統網域名稱共享乙個主網域名稱的cookie,這樣就可以實現登入乙個系統,所有系統登入。
例如,a1.test.com, a2.test.com, 登入其中乙個系統,設定.test.com的cookie,就可以實現其他系統也登入。
缺點:1. 主網域名稱要一致
2. 如果cookie承載session,則要求所有子系統web容器一致,比如都要使用nginx,不能乙個nginx,乙個tomcat。
2. sso站點認證授權
所有站點的認證,統一到乙個sso站點進行,認證成功後,帶著token返回**站點。**站點,使用token,去sso站點驗證,驗證成功,則授權登入。
例如:認證站點: sso.com
系統站點: a.com
系統站點: b.com
使用者訪問a.com,若未登入,則跳轉到sso.com,並帶上a.com這個**位址,則給出登入介面,登入成功後,生成乙個授權token,儲存在sso.com的cookie中,
通過a.com?token=token返回a.com, a.com拿到token,請求sso.com驗證是否有效,有效則授權登入。
使用者訪問b.com,同樣過程,若a.com已登入,即有未過期的token,則直接b.com?token=token返回,b.com同樣驗證token有效,則授權登入。
這樣就達到登入乙個,其他的也登入的效果。
3. sso登入寫第三方cookie
在乙個站點登入成功後,向乙個sso位址或目標站點本身傳送jsonp請求,驗證成功後,重定向到目標站點,攜帶引數登入成功後,設定目標站點的cookie。
重複此過程,是的所有需要登入的站點的cookie都設定完成,多個系統的單點登入就完成了。
登出過程,乙個系統登出成功後,以jsonp請求所有需要登出的系統的登出介面,清理cookie即可。
詳細過程可以參考, 阿里(**、天貓、一淘)、京東sso分析
SSO單點登入
單點登入sso single sign on 就是在多個系統共存的環境下,使用者在一處登入 就不用在其他系統中登入,也就是使用者的一次登入就可以得到其他所有系統的信任。要點 儲存信任 驗證信任 最簡單實現sso的方法就是cookie,實現流程 然而cookie有如下缺點 1 cookie不安全 2 ...
sso單點登入
一 什麼是單點登入sso single sign on sso是一種統一認證和授權機制,指訪問同一伺服器不同應用中的受保護資源的同一使用者,只需要登入一次,即通過乙個應用中的安全驗證後,再訪問其他應用中的受保護資源時,不再需要重新登入驗證。二 單點登入解決了什麼問題 解決了使用者只需要登入一次就可以...
sso單點登入
1 sso single sign on 單點登入 解決了使用者只需要登入一次就可以訪問所有相互信任的應用系統,而不用重複登入,對使用者資訊進行統一管理。2 session共享 分布式中,為了提公升集群效能,我把使用者的session資訊儲存到redis中,key的格式例如 user session...