SSO

SSO 是什麼意思?

Cindy Liu
4 min readFeb 17, 2019

其實如果有串接過 Facebook 登入 或 Google 登入,應該是會蠻有感覺的,以下是筆記~

單一登入(英文:Single sign-on,縮寫為 SSO):是一個集中身分登入管理的站台。各種互不相關的第三方軟體(Web、 APP),可以透過登入同一站台,取得使用者資料的存取權限。

SSO 可集中身分管理,個別的 APP 或 Web 不需自行建置身分登入系統,只要透過登入 SSO 就可以存取到資料,User 不需要在每個網站都註冊帳號,User 只要在 Facebook 或 Google 註冊過一次,在可用 Facebook 與 Google 帳號登入的網站就可以一鍵登入。

  • 簡單說就是使用者只有一次的註冊,之後就可以都用同一組身份來單一登入不同 app 或 網站 的意思。

在知道什麼是 SSO 之後就要知道怎麼實現它?

例如 OAUTHOPENIDSAMLCAS.. 等等。

OpenID 分散了身份驗證。是 IDP 提供一個身份唯一標識把第三方的應用帳號綁定到唯一標識上。

CAS 集中了身份驗證。本身沒有授權,也沒有權限控制,但是 CAS 支持 SAML,所以就支持了權限控制。

SAML 支持 XACML 協議進行權限控制。
SAML 協議較 OAUTH 來說確實比較複雜,但是功能也十分強大,支持認證,權限控制和用戶屬性。

OAuth( 英文全名:Open standard for AUTHorization 開放授權)是一個開放標準,允許用戶讓第三方應用訪問該用戶在某一網站上的資源。

如果想要在你的 Rails 專案用 OAuth 2 實現 SSO 可以參考 doorkeeper

老實說這裡越研究發現越多東西,這篇只能大概知道詳細還要再深入研究。

延伸閱讀:

--

--