單點登陸(SSO)簡介

本文彙總了html

的內容,版權歸原網站全部!git

什麼是單點登陸

單點登陸(SSO)是一種容許用戶僅使用一組登陸憑據(例如,一個用戶名和密碼)登陸,從而能夠安全地認證多個應用程序的系統。使用 SSO,用戶嘗試訪問的應用程序或網站依賴於受信任的第三方來驗證用戶身份。一個例子就是你天天要用的谷歌的在線應用套件。github

爲何單點登陸很重要?

單點登陸能夠幫助公司提升工做效率,節省時間和金錢。數據庫

在用戶方面,SSO 節省了時間和精力,由於用戶沒必要重複登陸多個應用程序。這提供了簡化的(steamlined)用戶體驗,減小了軟件因處理許多不一樣的密碼和用戶賬戶而遇到的賬戶訪問問題。安全

單點登陸也很是適合管理員。中心化的 SSO 系統更容易在不一樣應用間監控用戶帳戶。它減小了訪問問題(例如錯誤密碼或忘記密碼)的數量,節省了管理員和技術支持人員的時間。另外,由於註冊時僅需一個密碼,也減小了須要維護的密碼數量。微信

沒有 SSO 的認證如何工做?

若是沒有單點登陸,每一個網站都會維護本身的用戶及其憑據數據庫。當你嘗試登陸應用或網站時會發生如下狀況:cookie

  1. 該網站首先檢查你是否已通過身份驗證。若是有,它可讓您訪問該網站。
  2. 若是尚未,它會要求你登陸,並根據其用戶數據庫中的信息檢查你的用戶名和密碼。
  3. 登陸後,當您在網站中瀏覽時,網站會傳遞身份驗證驗證數據,以確認每次轉到新網頁時都會對您進行身份驗證。
    用戶請求訪問
    用戶已受權的訪問,以後訪問新網站
    身份驗證數據一般用帶有會話數據的 cookie 或做爲令牌傳遞,不跟蹤會話而且處理速度更快。

SSO 如何工做?

使用 SSO 進行身份驗證依賴於域(網站)之間的信任關係。經過單點登陸,當你嘗試登陸應用或網站時會:網絡

  1. 用戶訪問目標域。網站首先檢查你是否已通過 SSO domain 的身份驗證,若是是,它可讓你訪問該網站。
  2. 若是尚未,它會將你重定向到 SSO domain 進行登陸。
  3. 你輸入用於企業訪問的用戶名/密碼。
  4. SSO tool 從公司使用的身份提供商或身份驗證系統請求身份驗證,生成一個加密令牌。
  5. SSO server 將身份驗證數據傳遞到網站並將你帶回到該站點。
  6. 加密令牌做爲你已經被受權的憑證。
  7. 當你在網站中瀏覽時,網站會攜帶身份驗證數據,每次轉到新網頁時都會確認你的身份驗證。

用戶請求訪問
用戶已受權的訪問,以後訪問新網站

基於令牌的身份驗證是另外一個重要的登陸概念(在此處瞭解更多信息)。 SSO系統基本上依賴於這些令牌來「記住」已經容許用戶訪問與該中央 SSO 相關聯的全部應用。dom

SSO身份驗證是否安全?

簡短的回答是:是的。SSO 系統在正確實現並與其餘現代網絡安全工具一塊兒使用時很是安全。工具

詳細的回答。SSO 身份驗證系統能夠提升互聯網的總體安全性,主要有兩個緣由:

  • 減小了人們在互聯網上建立和使用的弱密碼的數量。
  • 建立了更集中的系統,管理員能夠更輕鬆地進行管理和保護。

可是,將多個流程集中到一個系統中也存在一些風險。若是黑客進入該中央系統或竊取用戶密碼,他們就能夠訪問鏈接到該 SSO 系統的全部應用程序和工具。

值得慶幸的是,向 SSO 登陸系統添加額外的安全工具很容易。

SSO 與 OAuth

通俗的解釋,SSO 是處理一個公司內的不一樣應用系統之間的登陸問題,好比阿里巴巴旗下有不少應用系統,咱們只須要登陸一個系統就能夠實現不一樣系統之間的跳轉。

OAuth 是不一樣公司遵循的一種受權方案,也是一種受權協議,一般都是由大公司提供,好比騰訊,微博。咱們經常使用的QQ登陸,微博登陸等,使用 OAuth 的好處是可使用其餘第三方帳號進行登陸系統,減小了因用戶懶,不肯註冊而致使用戶流失的風險。

如今一些支付業務也用 OAuth,好比微信支付,支付寶支付。還有一些開放平臺也用 OAuth,好比百度開放平臺,騰訊開放平臺。

CAS 單點登陸的流程以下:


擴展閱讀:

  1. mp.weixin.qq.com/s/TSkdxVN9m…
  2. juejin.im/post/5a002b…
  3. apereo.github.io/cas/4.2.x/p…
相關文章
相關標籤/搜索