SSO單點登入最全詳解(圖文全面總結)
來源:mikechen的網際網路架構
SSO單點登入經常在大型網站被使用到,下面我就重點來詳解SSO單點登入的原理機制與應用場景
SSO單點登入
單點登入(Single Sign-On,簡稱SSO)是一種身份驗證機制,允許使用者在一次登入後,就能夠訪問多個關聯的系統,而無需在每個系統中重新進行身份驗證。
SSO單點登入價值
要體現在如下2點:
1.使用者體驗提升
SSO允許使用者在一次登入後訪問多個相關係統,無需在每個系統中都進行繁瑣的身份驗證。
這大大簡化了使用者的登入過程,提高了整體的使用者體驗。
如下圖所示:
阿里的使用者登入一次之後,就可以訪問淘寶, 天貓 聚划算。
這樣,避免了在每個系統中重複輸入使用者名稱和密碼,提高了使用者體驗。
2.提高安全性
SSO有助於集中管理使用者身份驗證和授權,減少了密碼洩露的風險。
而且,還可以更容易地監控和管理使用者的許可權,實施更強的身份驗證,和授權策略。
除了單一登入,SSO通常還支援單一登出功能,當使用者在一個系統中登出時,其他已登入的系統也會被登出。
SSO單點登入實現
SSO單點登入系統,涉及了使用者身份驗證、令牌生成與驗證、全域性會話管理、訪問控制和單點登出等方面。
如下圖所示:
主要會包含如下元件:
1.CAS 伺服器
CAS伺服器是單點登入系統的核心元件,負責使用者的身份驗證、生成並管理令牌、以及全域性會話管理。
工作流程:
使用者登入請求: 使用者嘗試訪問某個需要認證的應用。
重定向至CAS登入頁面: CAS客戶端檢測到使用者未登入,將使用者重定向至CAS伺服器的登入頁面。
使用者憑證驗證: 使用者在CAS登入頁面輸入使用者名稱和密碼。
生成令牌(Ticket): CAS伺服器驗證使用者憑證成功後,生成一個包含使用者身份資訊的令牌。
返回令牌和TGT: CAS伺服器將令牌返回給CAS客戶端,同時可能生成一個TGT(Ticket Granting Ticket)用於全域性會話管理。
2.CAS Client(CAS 客戶端)
CAS客戶端,主要是處理使用者的登入、和CAS伺服器的通訊。
工作流程:
檢測使用者登入狀態: CAS客戶端檢測使用者是否已經登入。
重定向至CAS伺服器: 如果未登入,CAS客戶端將使用者重定向至CAS伺服器,包含Service標識以及可能的登入狀態(如重定向回撥URL)。
CAS登入驗證: 使用者在CAS登入頁面輸入憑證,CAS伺服器驗證使用者身份。
獲取Service Ticket: CAS伺服器生成ST,並將其返回給CAS客戶端。
訪問受保護資源: CAS客戶端將ST與Service標識一起傳送至Service,實現訪問控制。
3.Service
表示使用者想要訪問的資源,每個Service都有一個唯一的識別符號。
工作流程:
接收ST和Service標識: Service接收CAS客戶端傳遞的ST和Service標識。
ST驗證: Service向CAS伺服器驗證ST的有效性,確保ST未被使用且未過期。
使用者授權: 驗證透過後,Service授予使用者訪問受保護資源的許可權。
4.單點登出
單點登出通知: 當使用者在一個Service登出時,Service通知CAS伺服器。
全域性登出: CAS伺服器透過TGT,通知其他關聯的Service進行使用者登出。
以上就是SSO單點登入的介紹,希望對你掌握好SSO有所參考。
來自 “ ITPUB部落格 ” ,連結:https://blog.itpub.net/70024922/viewspace-3008060/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 微服務最全詳解(圖文全面總結)微服務
- 負載均衡最全詳解(圖文全面總結)負載
- 分散式儲存最全詳解(圖文全面總結)分散式
- 高併發架構最全詳解(圖文全面總結)架構
- DDD領域驅動最全詳解(圖文全面總結)
- 【SSO】--實現單點登入研究過程總結
- 初探單點登入 SSO
- SSO單點登入邏輯
- SSO單點登入三種情況的實現方式詳解
- CAS單點登入(SSO)實戰(一)
- Casdoor + OAuth 實現單點登入 SSOOAuth
- CAS SSO單點登入框架學習框架
- 單點登入 SSO 的實現原理
- 9大效能最佳化方案詳解(圖文全面總結)
- OAuth2實現單點登入SSOOAuth
- 【SSO】--單點登入之過濾器(filter)過濾器Filter
- Java泛型詳解,史上最全圖文詳解!Java泛型
- 記一次 SSO 單點登入實現
- 單點登入SSO和Oauth2.0 文章3OAuth
- 完全跨域的單點登入(SSO)解決方案原始碼解析跨域原始碼
- CAS實現單點登入SSO執行原理探究
- CAS SSO單點登入服務端環境搭建服務端
- CAS SSO單點登入客戶端環境搭建客戶端
- 實戰模擬│單點登入 SSO 的實現
- 談談SSO單點登入的設計實現
- 2.CAS SSO單點登入服務端環境搭建之原始碼詳細解說服務端原始碼
- 最全總結 JavaScript Array 方法詳解JavaScript
- 最全面的 MySQL 索引詳解MySql索引
- Java單連結串列反轉圖文詳解Java
- 不務正業的前端之SSO(單點登入)實踐前端
- 3.CAS SSO單點登入客戶端環境搭建客戶端
- ZooKeeper最全詳解(萬字圖文總結)
- 整合spring cloud雲架構 - SSO單點登入之OAuth2.0登入認證SpringCloud架構OAuth
- Spring Cloud雲架構 - SSO單點登入之OAuth2.0登入認證(1)SpringCloud架構OAuth
- 最強SSO單點登入教程(三)單點登出流程分析
- 最全面的JavaScript除錯技巧總結JavaScript除錯
- 對SSO單點登入和OAuth2.0的區別和理解OAuth
- spring cloud微服務分散式雲架構-單點登入(SSO)SpringCloud微服務分散式架構