基礎模式SSO訪問流程主要有以下步驟:
1.訪問服務:SSO客戶端發送請求訪問應用系統提供的服務資源。
2.定向認證:SSO客戶端會重定向用戶請求到SSO服務器。
3.用戶認證:用戶身份認證。
4.發放票據:SSO服務器會產生一個隨機的 。
5.驗證票據:SSO服務器驗證票據 的合法性,驗證通過后,允許客戶端訪問服務。
6.傳輸用戶信息:SSO服務器驗證票據通過后,傳輸用戶認證結果信息給客戶端。
下面是CAS最基本的協議過程:
如 上圖:CAS 與受保護的客戶端應用部署在一起,以方式保護Web應用的受保護資源,過濾從客戶端過來的每一個Web請求,同 時,CAS 會分析HTTP請求中是否包含請求 ( ST上圖中的),如果沒有,則說明該用戶是沒有經過認證的;于是CAS 會重定向用戶請求到CAS (Step 2),并傳遞(要訪問的目的資源地址)。Step 3是用戶認證過程單點登錄原理,如果用戶提供了正確的,CAS 隨機產生一個相當長度、唯一、不可偽造的 ,并緩存以待將來驗證,并且重定向用戶到所在地址(附帶剛才產生的 ),并為客戶端瀏覽器設置一個 (TGC);CAS 在拿到和新產生的過后,在Step 5和Step6中與CAS 進行身份核實單點登錄原理,以確保 的合法性。
在該協議中,所有與CAS 的交互均采用SSL協議,以確保ST和TGC的安全性。協議工作過程中會有2次重定向的過程。但是CAS 與CAS 之間進行驗證的過程對于用戶是透明的(使用)。
CAS請求認證時序圖如下:
CAS 實現SSO 當用戶訪問另一個應用的服務再次被重定向到CAS 的時候,CAS 會主動獲到這個TGC ,然后做下面的事情:
1)如果User持有TGC且其還沒失效,那么就走基礎協議圖的Step4,達到了SSO的效果;
2)如果TGC失效,那么用戶還是要重新認證(走基礎協議圖的Step3)。