所謂單點登錄,簡單來說就是:一個登錄入口,可訪問多個系統,得到多個系統的信任。
用戶的一次完整操作可能會涉及到多個系統,如果每次都要登錄,用戶必然會不耐煩,甚至發火,不僅用戶,每個系統都要設計登錄,做登錄的授權認證,也是很囉嗦了。比如:用戶逛淘寶,有時候一個鏈接就可以直接訪問到天貓,但是到了天貓,不再需要登錄;選擇好要買的東西后,加入到購物車結算,選擇結算方式--支付寶/建行/農行/工行….跳轉到支付界面,也不需要登錄——單點登錄,登錄一次就可以訪問所有相互信任的應用系統。
單點登錄SSO實現原理:
SSO單點登錄訪問流程的主要步驟:
1. 訪問服務:SSO客戶端發送請求訪問應用系統提供的服務資源。
2. 定向認證:SSO客戶端會重定向用戶請求到SSO服務器。
3. 用戶認證:用戶身份認證。
4. 發放票據:SSO服務器會產生一個隨機的Service Ticket。
5. 驗證票據:SSO服務器驗證票據Service Ticket的合法性,驗證通過後,允許客戶端訪問服務。
6. 傳輸用戶信息:SSO服務器驗證票據通過後,傳輸用戶認證結果信息給客戶端。
7. 單點退出:用戶退出單點登錄。
原理圖:
優點:
SSO將一個企業內部所有域中的用戶登錄和用戶帳號管理集中到一起,SSO的好處顯而易見:
(1)用戶方面:用戶只需登錄一次,即可訪問所有相互信任的系統,減少了一次完整操作登錄多個不同系統的時間。並且多個系統只需一個用戶名密碼,不需要每個系統都註冊,減少了登錄時出錯的可能,比如:忘記用戶名密碼。
(2)提高了安全性,也避免了處理和保存多個系統用戶的認證信息
(3)管理員方面:管理員只需維護一套用戶賬號,很方便。
(4)開發人員方面:開發新系統時,可直接使用單點登錄平臺的用戶認證服務,不需再單獨考慮每個新系統的用戶登錄問題,節省開發時間。