古詩詞大全網 - 藝術簽名 - Web系統的通用單點登錄協議

Web系統的通用單點登錄協議

壹個企業中通常有多個系統。假設用戶在進入各個系統之前需要輸入自己的賬號/密碼進行登錄,那麽在系統數量較少的情況下,仍然可以收到各個賬號/密碼。如果系統數量很大,用戶將無法接收它們。單點登錄很好地解決了這個問題。

單點登錄的原理是用戶只需登錄壹次就可以訪問多個系統。

有許多協議可用於單點登錄。下面將簡要介紹四種常見的單點登錄協議:CAS、OAuth2、OpenID和SAML。

CAS協議是基於令牌的協議。它用於Web應用的單點登錄或註銷,協議的內容是標準化壹組用於登錄/註銷的URIs。協議詳情見:/blog/2014/05/oauth _ 2 _ 0.html。

本文重點介紹使用Oauth2的單點登錄過程:

OpenID的最新版本是OpenID Connect,這是OpenID的第三代技術。OpenID Connect允許所有類型的客戶端,包括基於瀏覽器和本地移動應用程序。

OpenID用於對最終用戶進行身份驗證,OAuth2用於在已知用戶身份合法的情況下對客戶端的資源進行授權。OpenID Conect = OpenID + OAuth2 .

Openid連接基於OAuth協議。在OAuth2中,有壹個特殊的作用域“openid”來標識OpenID請求,在OAuth2的返回體中增加了壹個idtoken字段來標識用戶。

使用OpenID Connect的單點登錄過程與Oauth2相同。

目前國內很多應用(瀏覽器或手機)都支持微信、微博等第三方認證,比如。這種第三方認證可以通過OpenID Connect來實現。

請註意,壹般的商業應用程序將支持使用第三方認證。

SAML通過XML交互,基於HTTP。

下面簡單介紹壹下SAML協議中涉及的基本術語。

IdP:身份提供者是指提供身份管理的服務。常見的企業擁有的IDP包括AD FS、Shibboleth等。,而cloudidps包括Azure AD、Okta、OneLogin等。

SP:服務提供商是指利用IdP的身份管理功能,為用戶提供特定服務的應用。SP會消費IdP提供的用戶信息。在壹些非SAML身份系統中(如OIDC),服務提供商也稱為依賴方,是IdP的依賴方。

SAML:安全斷言標記語言是企業級用戶認證的標準協議。它是實現SP與IdP通信的技術途徑之壹。它是企業身份聯盟(SAML 2.0)事實上的標準。

SAML斷言:Assertion的簡稱,SAML斷言是SAML協議中用來描述認證請求和認證響應的核心元素。例如,用戶的特定屬性包含在身份驗證響應的斷言中。

信任:信任是指SP和IdP之間建立的相互信任機制,通常通過公鑰和私鑰來實現。SP以可信的方式獲取IdP的身份聯盟元數據,元數據中包含IdP用來簽署SAML斷言的私鑰對應的公鑰,SP可以使用公鑰來驗證斷言的完整性。

參考阿裏雲單點登錄的案例:/doc/document _ detail/69969 . html。

參考鏈接:/p/5d535eee0a9b

選擇哪種單點登錄方式需要權衡利弊。