單點登錄SSO:是指用戶通過一次登錄,可以訪問任意所有相互信任的應用系統。即一處登錄,處處登錄。比如阿里系下的淘寶、天貓等,雖然是不同的產品,但歸於一個體系下,是可以相互信任的應用系統。
為了方便用戶操作,避免到處注冊登錄。不能因為其中一台應用服務的更新,影響到其它應用服務的登錄,必然需要把登錄當成獨立應用服務,它即是SSO-server。
用戶流程:
1、訪問tb/member網頁
2、tb應用服務驗證是否登錄
3、如果沒有登錄,去sso認證服務中心,檢查是否登錄
4、如果也沒有,即跳轉到登錄頁面
5、登錄成功,存儲登錄信息並跳轉到原訪問url
6、訪問頁面再次去sso認證服務中心,校驗是否合法
7、合法,顯示網頁給用戶。
項目使用技術springboot來構建。
sso-server:認證服務中心
tb-client:tb應用系統
tm-client:tm應用系統
為了方便測試跨域情況,需要配置hosts:
127.0.0.1 www.sso.com 127.0.0.1 www.tb.com 127.0.0.1 www.tm.com
源代碼:
https://github.com/zzsong/sso.git