觀念
1. CAS
CAS(Central Authentication Service,中央認證服務)
由耶魯大學發起的開源 Web SSO(單一簽入) 實作框架。
2. SSO(單一簽入)
將多個網站應用的身分登入驗證統一至單一入口完成。
- 特性:各應用透過 Web 通訊協定(HTTPS)互相溝通,具備全域唯一登入入口
- 淺白解釋:同一個瀏覽器只要在認證中心登入一次,存取所有信任的網站就不用重複登入
3. SSO 體系的三大角色
- User:終端使用者(瀏覽器)
- Web 應用程式(多個業務系統)
- SSO 認證中心(唯一)
4. SSO 三大核心原則
- 所有帳號登入動作統一在 SSO 認證中心執行;
- 認證中心提供機制,通知各個 Web 應用程式目前使用者是否已經完成認證;
- 認證中心必須和所有業務 Web 應用程式預先建立信任關係。
兩大核心元件
CAS Server(認證伺服器端)
- 獨立部署的 Web 程式,也就是唯一的認證中心
- 職責:接收帳號密碼、驗證使用者身分;簽發票據(Ticket)、管理全域會議 Cookie(TGC)
CAS Client(用戶端,內嵌於各業務系統)
- 部署在各個業務 Web 應用程式內,一般以過濾器 Filter 的形式實作
- 職責:攔截受保護資源的請求;使用者尚未登入時,自動將瀏覽器重新導向至 CAS Server 登入頁面
運作流程
- 使用者存取業務系統資源 → CAS Client 攔截請求,發現請求中沒有
Service Ticket - Client 將瀏覽器重新導向到 CAS Server 登入位址,並攜帶當前業務系統位址(Service)
- 使用者在 CAS 伺服器端輸入帳號密碼完成登入認證
- 登入成功:CAS Server 在瀏覽器寫入 TGC(Ticket Granting Cookie)全域會議 Cookie
- 產生一次性票據:Service Ticket(ST)
- CAS Server 再次重新導向瀏覽器,回到業務系統位址,URL 參數帶上
Ticket=xxx - 業務系統的 CAS Client 在後端發起伺服器請求,帶上 Service 位址與 Ticket,向 CAS Server 驗證票據是否合法
- CAS Server 確認票據有效,回傳使用者身分資訊(使用者名稱等)
- 驗證通過,業務系統建立本機會議,使用者就可以正常瀏覽頁面
TGC 的作用:只要瀏覽器保留 TGC Cookie,之後存取其他接入 CAS 的系統時,就不會彈出登入頁,自動完成單一簽入。
介紹
Next: 安裝