簡體   English   中英

SAML 元數據文件和 SSO

[英]SAML metadata file and SSO

目的

使用 SSO 導航到 url。

信息

我收到了第三方提供的 SP SAML 元數據文件。

使用 Java 和 JavaScript,如何導航到端點 url?

我看過許多關於 SAML 架構的文章,但似乎無法找到如何導航到端點。 我認為這甚至可以像 JWT 一樣在 Postman 中進行測試。

更多信息

我是 SAML 的新手,但一直在閱讀該主題。 據我所知,我是“委托人”,第三方是“服務提供商”。 看起來他們使用onelogin來生成 SP 元數據文件。

例如

<?xml version="1.0"?>
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" validUntil="2020-10-14T14:43:29Z" cacheDuration="PT604800S" entityID="https://testentityid">
  <md:SPSSODescriptor AuthnRequestsSigned="false" WantAssertionsSigned="false" protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
    <md:KeyDescriptor use="signing">
      <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
        <ds:X509Data>
          <ds:X509Certificate>certificate</ds:X509Certificate>
        </ds:X509Data>
      </ds:KeyInfo>
    </md:KeyDescriptor>
    <md:KeyDescriptor use="encryption">
      <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
        <ds:X509Data>
          <ds:X509Certificate>certificate</ds:X509Certificate>
        </ds:X509Data>
      </ds:KeyInfo>
    </md:KeyDescriptor>
    <md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://logoutendpoint"/>
    <md:NameIDFormat>urn:oasis:names:tc:SAML:1.1:nameid-format:unspecified</md:NameIDFormat>
    <md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://consumeendpoint" index="1"/>
  </md:SPSSODescriptor>
</md:EntityDescriptor>

Principal 是 IdP 正在驗證的用戶。 一個簡單的流程本質上是使用SAML Web 瀏覽器 SSO 配置文件

  1. 用戶轉到服務提供商 (SP) 處的資源
  2. SP 檢測到用戶沒有會話並將瀏覽器重定向到 IdP 的 SSO 端點
  3. IdP 對用戶(委托人)進行身份驗證
  4. IdP 將瀏覽器重定向到 SP 的AssertionConsumerService URL 以及 URL 中編碼的 SAML 響應,其中包含主體的 SAML 屬性。

這里有各種 SAML 請求/響應示例以及 SP 通過GETPOST SAML 綁定重定向瀏覽器的各種方式。 加上許多其他基本要素,例如基於每個實體(IdP 和 SP)元數據中的密鑰的證書和簽名。

通常,您必須使用您的私鑰對 SAML 請求進行簽名,並且其他實體(例如 IdP)使用您的 SAML 元數據中的公鑰驗證該簽名, <md:KeyDescriptor use="signing">/X509Data/X509Certificate以上。 發送給 SP 的主動 SAML 響應可能不相關,但需要使用 IdP 的私鑰進行簽名,並且 SP 需要擁有 IdP 的公鑰來驗證簽名。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM