SAML 2.0 Web 瀏覽器單一登入

「SAML Web 瀏覽器單一登入 (SSO)」可讓 Web 應用程式將使用者鑑別委派給 SAML 身分提供者,而非所配置的使用者登錄。

「安全主張標記語言 (SAML)」是一項 OASIS 開放式標準,用來代表和交換使用者身分、鑑別和屬性資訊。SAML 主張是一個採 XML 格式的記號,在完成單一登入要求的過程中,用來將使用者身分和屬性資訊,從使用者的身分提供者傳送到授信服務提供者。SAML 主張提供無關於供應商的方法,藉以在聯合商業夥伴之間傳送資訊。利用 SAML,企業服務提供者可以聯絡獨立的企業身分提供者,以便對嘗試存取安全內容的使用者進行鑑別。

WebSphere® Application Server Liberty 支援 SAML Web 瀏覽器單一登入設定檔與 HTTP POST 連結,並擔任 SAML 服務提供者。Web 使用者接受 SAML 身分提供者的鑑別,SAML 身分提供者產生一項 SAML 主張,WebSphere SAML 服務提供者使用該 SAML 主張,為該 Web 使用者建立安全環境定義。

SAML Web SSO 流程包括三個動作者:一般使用者、身分提供者 (IdP) 和服務提供者 (SP)。使用者一律接受 IdP 的鑑別,SP 依靠 IdP 主張來識別使用者。

圖 1. Web 單一登入中的主要概念
SAML Web SSO 流程包括三個動作者:一般使用者、身分提供者 (IdP) 和服務提供者 (SP)。使用者一律接受 IdP 的鑑別,SP 依靠 IdP 主張來識別使用者。

Liberty SAML Web 瀏覽器 SSO 實務

圖 2. 實務 1:由 SP 起始的請求 Web SSO(一般使用者從 SP 開始)
由 SP 起始的請求 Web SSO(一般使用者從 SP 開始)
  1. 一般使用者造訪 SP。
  2. SP 將使用者重新導向至 IdP。
  3. 一般使用者接受 IdP 的鑑別。
  4. IdP 傳送 SAML 回應和主張給 SP。
  5. SP 驗證 SAML 回應,並授權使用者要求。
圖 3. 實務 2:由 IdP 起始的自發性 Web SSO(一般使用者從 IdP 開始)
由 IdP 起始的自發性 Web SSO(一般使用者從 IdP 開始)
  1. 使用者代理程式存取 SAML IdP。
  2. IdP 鑑別使用者,並發出 SAML 主張。
  3. IdP 使用 SAMLResponse 將使用者重新導向至 SP。
  4. SP 驗證 SAML 回應,並授權使用者的要求。
圖 4. 實務 3:OpenID Connect 提供者與 SAML 服務提供者
OpenID Connect 提供者與 SAML 服務提供者
  1. 一般使用者造訪 OpenID Connect 依賴方 (RP)。
  2. RP 將一般使用者重新導向至 OpenID Connect 提供者 (OP)。
  3. OP(亦為 SAML SP)將一般使用者重新導向至 SAML IdP。
  4. 一般使用者接受 SAML IdP 的鑑別。
  5. IdP 使用 SAMLResponse 將一般使用者重新導向至 OP 或 SP。
  6. OP/SP 驗證 SAML,並將授權碼傳送給 RP。
  7. RP 交換 id_tokenaccess_token 的程式碼。
  8. RP 驗證 id_token,並授權一般使用者。

指示主題類型的圖示 概念主題

檔名:cwlp_saml_web_sso.html