![](/img/trans.png)
[英]Spring SAML SSO - IDP Metadata does not contain SingleSignOnService
[英]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 配置文件:
AssertionConsumerService
URL 以及 URL 中編碼的 SAML 響應,其中包含主體的 SAML 屬性。 這里有各種 SAML 請求/響應示例,以及 SP 通過GET
或POST
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.