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 單一登入中的主要概念

Liberty SAML Web 瀏覽器 SSO 實務
圖 2. 實務 1:由 SP 起始的請求 Web SSO(一般使用者從 SP 開始)

- 一般使用者造訪 SP。
- SP 將使用者重新導向至 IdP。
- 一般使用者接受 IdP 的鑑別。
- IdP 傳送 SAML 回應和主張給 SP。
- SP 驗證 SAML 回應,並授權使用者要求。
圖 3. 實務 2:由 IdP 起始的自發性 Web SSO(一般使用者從 IdP 開始)

- 使用者代理程式存取 SAML IdP。
- IdP 鑑別使用者,並發出 SAML 主張。
- IdP 使用 SAMLResponse 將使用者重新導向至 SP。
- SP 驗證 SAML 回應,並授權使用者的要求。
圖 4. 實務 3:OpenID Connect 提供者與 SAML 服務提供者

- 一般使用者造訪 OpenID Connect 依賴方 (RP)。
- RP 將一般使用者重新導向至 OpenID Connect 提供者 (OP)。
- OP(亦為 SAML SP)將一般使用者重新導向至 SAML IdP。
- 一般使用者接受 SAML IdP 的鑑別。
- IdP 使用 SAMLResponse 將一般使用者重新導向至 OP 或 SP。
- OP/SP 驗證 SAML,並將授權碼傳送給 RP。
- RP 交換 id_token 和 access_token 的程式碼。
- RP 驗證 id_token,並授權一般使用者。