單點登入(SSO)和多點登入

2022-03-31 05:13:32 字數 1257 閱讀 5791

sso(單點登入)的概念:在乙個多系統共存的環境下,使用者在一處登入後,就不用再其他系統中登入,也就是使用者的一次登入能得到其他所有系統的信任。

sso(單點登入)的應用場景:單點登入在大型**使用非常頻繁,例如阿里巴巴**,在**的背後是成白上千的子系統,使用者的一次操作可能涉及到幾十個子系統的協作,如果每個子系統都需要用

戶驗證,不僅使用者會瘋掉,各系統也會為這種重複授權搞瘋。

需要解決的兩點:解決如何產生和儲存信任,系統如何驗證這個信任的有效性(1.儲存信任 2.驗證信任)

解決方案:

1.以cookie作為憑證媒介,通過jsonp實現

使用者登入父應用系統後,跟session匹配的cookie會存到客戶端中,當使用者登入子應用系統時,授權應用訪問父應用提供的jsonp介面,並在請求中

帶上父應用系統網域名稱下cookie,父應用接收到請求,驗證使用者的登入狀態,

如果登入中則返回加密資訊,子應用通過解析返回加密資訊驗證,驗證通過則登入成功子應用系統

如果不是登入中則返回重新登入頁面

優點:簡單方便

缺點:信任全部壓在cookie加密中,如果加密演算法洩露了,攻擊者可以在本地建立乙個實現了登入介面的假冒父應用,通過繫結host來把子應用發起的請求指向本地假冒的父應用

並作出回應通過驗證,登入特定使用者

2.通過頁面重定向的方式

通過父應用和子應用來回重定向進行通訊實現資訊保安傳遞。父應用提供乙個get方式登入介面,使用者通過子應用重定向連線方式訪問這個介面。如果使用者還沒有登入則返回登入頁面,

如果使用者登入了則生成加密的token並且重定向到子應用提供驗證token的介面,通過解密校驗後,登入當前使用者

優點:較cookie方式安全些

缺點:不方便

3.使用獨立登入系統

把授權的邏輯與使用者資訊的相關邏輯獨立成乙個應用(使用者中心),使用者中心不處理業務邏輯,只是處理使用者資訊的管理以及授權給第三方應用。第三方應用需要登入的時候把請求**給使用者中心

進行處理,處理完畢後返回憑證,第三方驗證憑證,通過後就登入使用者

多點登入的概念:同一賬號可以在不同終端同時登入,同時收發資訊。

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...