3


我正在实施一个由 SP 发起的 Web 浏览器 SAML SSO 配置文件。
我的申请是SP。
客户要求我向他们提供元数据文件。
我有一个 Shibboleth 元数据文件,用于针对本地 Shibboleth IDP 服务器测试我的应用程序。
现在,当我将此文件发送给非 Shibboleth 客户时,他说此文件是 Shibboleth 文件,他需要一个不同的文件。
我的问题是:

是否有适合所有客户的标准 SP 元数据文件,无论他们使用什么 IDP?

我找到了一个例子:

<md:EntityDescriptor 
   xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" 
   ID="_z7b6d339da96016iib0ed98ed476er3d7ae4dct5" 
   entityID="https://my.application.sp/login">
  <md:SPSSODescriptor AuthnRequestsSigned="false" 
      WantAssertionsSigned="true"
      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:X509SubjectName>CN=my.application.sp</ds:X509SubjectName>
        <ds:X509Certificate>--my 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>--my certificate--</ds:X509Certificate>  
      </ds:X509Data>  
    </ds:KeyInfo>  
  </md:KeyDescriptor>  
  <md:NameIDFormat>urn:oasis:names:tc:SAML:2.0:nameid-format:transient</md:NameIDFormat>  
  <md:AssertionConsumerService 
      Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST"    
      Location="https://my.application.sp/handleLogin" index="0"/>
  </md:SPSSODescriptor>  
</md:EntityDescriptor> 

这够了吗?
我可以将其用作所有 IDP 的通用元数据吗?

谢谢

4

1 回答 1

1

sp.xml 受 SAML 的约束,它是一个开放协议,因此没有“Shibboleth 元数据”之类的东西 - 它是 Shibboleth 使用的 SAML 元数据。

必须在两方之间协商各种细节,例如您已指定 HTTP-POST。

如果 IDP 更喜欢 HTTP 重定向怎么办?

如果他们希望 nameid 格式是持久的而不是瞬态的,等等。

或者您的证书可能是 1024 位而不是 2048?

与 SAML 相关的元数据可以用作一般示例,但它可能无法满足所有单独的 IDP 要求。

于 2013-05-23T19:05:15.533 回答