1. 程式人生 > 實用技巧 >許可權認證:SSO單點登入

許可權認證:SSO單點登入

什麼是單點登入

SSO(Single Sign On)是處理一個公司內的不同應用系統之間的登入問題,比如阿里巴巴旗下有很多應用系統,我們只需要登入一個系統就可以實現不同系統之間的跳轉。

為了完成一個簡單的SSO功能,需要兩個部分的合作:

  • 統一的身份認證服務。
  • 每個應用都通過這個統一的認證服務來進行身份校驗。

SSO 實現原則

1、所有的認證登入都在 SSO 認證中心進行;
2、SSO 認證中心通過一些方法來告訴 Web 應用當前訪問使用者究竟是不是已通過認證的使用者;
3、SSO 認證中心和所有的 Web 應用建立一種信任關係,也就是說 web 應用必須信任認證中心。

SSO實現機制

sso-client

1、攔截子系統未登入使用者請求,跳轉至sso認證中心;
2、接收並存儲sso認證中心傳送的令牌;
3、與sso-server通訊,校驗令牌的有效性;
4、建立區域性會話;
5、攔截使用者登出請求,向sso認證中心傳送登出請求;
6、接收sso認證中心發出的登出請求,銷燬區域性會話。
  
sso-server
1、驗證使用者的登入資訊;
2、建立全域性會話;
3、建立授權令牌;
4、與sso-client通訊傳送令牌;
5、校驗sso-client令牌有效性;
6、系統註冊;
7、接收sso-client登出請求,登出所有會話。

SSO實現方案

基於JWT

共享Session

基於OpenId

基於CAS

https://blog.oxings.com/article/29.html