SSO單點登錄流程記錄

單點登錄流程

  1. 向W1發送請求驗證頁面,重定向到SSO

  2. 向SSO發送請求,如果存在cookie,則返回token

  3. 瀏覽器將token發送給W1,W1到SSO驗證token

  4. 通過後跳轉響應驗證頁面

  5. 向W1發送請求驗證頁面,重定向到SSO

  6. 向SSO發送請求,若不存在cookie,重定向到W1登錄頁

  7. 提交登錄信息,W1將登錄信息發送給SSO驗證身份信息

  8. SSO驗證成功並生成token,返回給W1,W1將token返回給瀏覽器

  9. 瀏覽器將token發送到SSO,SSO創建cookie並將重定向W1的信息返回給瀏覽器

  10. 瀏覽器將token發送給W1,W1發送到SSO進行驗證(4,5,6也可以是返回令牌,W1將令牌再發送到SSO進行驗證)

  11. 驗證通過進行響應

  12. 向W2發送請求驗證頁面,重定向到SSO,帶cookie

  13. 返回重定向W2的token

  14. 瀏覽器將token發給W2,W2發送到SSO進行驗證

  15. 驗證通過並響應

分佈式session共享

  1. session複製到所有機器
  2. session綁定,利用hash使得同一個ip總是請求到同一臺服務器。無法實現高可用,機器掛了就不存在了
  3. 利用cookie
  4. 利用獨立部署的session服務器(集羣)
    這種解決方案事實上是應用服務器的狀態分離,分爲無狀態的應用服務器和有狀態的session服務器,然後針對這兩種服務器的不同特性分別設計架構。
    對於有狀態的session服務器,一種比較簡單的方法是利用分佈式緩存(memcached), 數據庫等。在這些產品的基礎上進行包裝,使其符合session的存儲和訪問要求。
    如果業務場景對session管理有比較高的要求,比如利用session服務基層單點登錄(sso),用戶服務器等功能,需要開發專門的session服務管理平臺。
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章