目錄
SSO單點登錄(一)理論知識總結
SSO單點登錄(二)基於redis的服務端
SSO單點登錄(三)基於session的服務端
SSO單點登錄(四)客戶端的設計與實現
SSO單點登錄(五)服務端集成dubbo版本
持續更新中…
1. 概念
單點登錄(Single Sign On),簡稱爲 SSO,是目前比較流行的企業業務整合的解決方案之一。SSO的定義是在多個應用系統中,用戶只需要登錄一次就可以訪問所有相互信任的應用系統。
2. 基本邏輯圖
3. SSO客戶端和服務端要實現的功能
sso-client
- 攔截子系統未登錄用戶請求,跳轉至sso認證中心
- 接收並存儲sso認證中心發送的令牌
- 與sso-server通信,校驗令牌的有效性
- 建立局部會話
- 攔截用戶註銷請求,向sso認證中心發送註銷請求
- 接收sso認證中心發出的註銷請求,銷燬局部會話
sso-server
- 驗證用戶的登錄信息
- 創建全局會話
- 創建授權令牌
- 與sso-client通信發送令牌
- 校驗sso-client令牌有效性
- 系統註冊
- 接收sso-client註銷請求,註銷所有會話
4. 目標系統攔截器改造
- 局部標籤標記:只需要第一次登錄的時候請求統一登錄平臺校驗token即可,後面請求都使用目標系統的局部標籤校驗
- 添加用戶session信息:每個系統對於取用戶session信息的方式不同,這個邏輯,各系統可定製化改造(邏輯設計的時候,可以作爲一個變量參數,代碼主體結構不需要改動)