1. 程式人生 > >CAS單點登入-介紹(一)

CAS單點登入-介紹(一)

CAS單點登入-介紹(一)

由於之前工作需要都是對接現成的單點登陸服務,基於自己興趣目前正在研究CAS單點登陸原理和搭建以及不同的應用場景對接方式。特此來記錄學習的過程以及分享,希望能幫助大家。

1.CAS是什麼?

CAS是Central Authentication Server的縮寫 ,中央認證服務,一種獨立開放指令協議。CAS 是 Yale 大學發起的一個開源專案,旨在為 Web 應用系統提供一種可靠的單點登入方法,CAS 在 2004 年 12 月正式成為 JA-SIG 的一個專案。開源的企業級單點登入解決方案。

CAS協議是一種簡單且功能強大的基於ticke基的協議。完整的協議規範可以在這裡找到。

官網介紹

它涉及一個或多個客戶端和一個伺服器。客戶端嵌入在CASified應用程式(稱為CAS服務)中,而CAS伺服器是一個獨立的元件:

CAS伺服器負責對使用者進行身份驗證並授予對應用程式的訪問權
CAS客戶端保護CAS應用程式,並從CAS伺服器檢索授予使用者的身份。
關鍵概念:

儲存在TGC cookie中的TGT(票據授予票據)表示使用者的SSO會話。
ST(服務票證)作為url中的GET引數傳輸,表示CAS伺服器為特定使用者授予的對CASified應用程式的訪問。

2.應用場景

  • n個服務系統單點登入 (同一瀏覽器只需要登入一次)
  • 認證授權(API介面鑑權、使用者訪問許可權控制)

3.多協議認證

  • CAS
  • OAuth2
  • OpenID
  • SAML
  • Rest

4.Web flow diagram

CAS流程圖