1. 程式人生 > >單點登錄及跨域

單點登錄及跨域

ont ken clas 大型網站 網站 登錄頁面 大型 ack 一次

單點登錄SSO(Single Sign On)說得簡單點就是在一個多系統共存的環境下,用戶在一處登錄後,就不用在其他系統中登錄,也就是用戶的一次登錄能得到其他所有系統的信任。單點登錄在大型網站裏使用得非常頻繁,例如像阿裏巴巴這樣的網站,在網站的背後是成百上千的子系統,用戶一次操作或交易可能涉及到幾十個子系統的協作,如果每個子系統都需要用戶認證,不僅用戶會瘋掉,各子系統也會為這種重復認證授權的邏輯搞瘋掉。實現單點登錄說到底就是要解決如何產生和存儲那個信任,再就是其他系統如何驗證這個信任的有效性,因此要點也就以下兩個:

  • 存儲信任
  • 驗證信任

技術分享圖片

通過父應用和子應用來回重定向中進行通信,實現信息的安全傳遞。
父應用提供一個GET方式的登錄接口,用戶通過子應用重定向連接的方式訪問這個接口,如果用戶還沒有登錄,則返回一個的登錄頁面,用戶輸入賬號密碼進行登錄。如果用戶已經登錄了,則生成加密的Token,並且重定向到子應用提供的驗證Token的接口,通過解密和校驗之後,子應用登錄當前用戶。解決存儲信任和驗證信任

參考:https://blog.csdn.net/qq_39089301/article/details/80615348

跨域:

參考: https://blog.csdn.net/tjcjava/article/details/76468225

單點登錄及跨域