SAML SSO失败 - “原因:目的地无效。”

时间:2016-02-25 16:26:11

标签: asp.net-mvc single-sign-on saml-2.0

我正在使用enter image description here并导入我的元数据并执行有效的重定向请求。我的AuthnRequest没有任何错误(我当时,但我已经纠正了)。但是,当我执行重定向时,我收到错误:

  

原因:目的地无效。

不确定我错过了什么。

My Authn看起来像这样:

<samlp:AuthnRequest ID="_ID_" Version="2.0" IssueInstant="2016-02-25T16:20:04.869Z" Destination="http://localhost:9000/saml/service" ForceAuthn="false" IsPassive="false" ProtocolBinding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" AssertionConsumerServiceURL="http://localhost:9000/saml/assert" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">

  <saml:Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">MY_ISSUER_ID</saml:Issuer>

  <Signature xmlns="http://www.w3.org/2000/09/xmldsig#">
    <SignedInfo>
      <CanonicalizationMethod Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#" />
      <SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1" />
      <Reference URI="_ID_">
        <Transforms>
          <Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature" />
          <Transform Algorithm="http://www.w3.org/2001/10/xml-exc-c14n#">
            <InclusiveNamespaces PrefixList="#default samlp saml ds xs xsi" xmlns="http://www.w3.org/2001/10/xml-exc-c14n#" />
          </Transform>
        </Transforms>
        <DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1" />
        <DigestValue>_DIGEST_</DigestValue>
      </Reference>
    </SignedInfo>
    <SignatureValue>_SIGNATURE_VALUE_</SignatureValue>
    <KeyInfo>
      <X509Data>
        <X509Certificate>_CERTIFICATE_STRING_</X509Certificate>
      </X509Data>
    </KeyInfo>
  </Signature>

  <samlp:NameIDPolicy Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent" SPNameQualifier="MY_ISSUER_ID" AllowCreate="true" />

  <samlp:RequestedAuthnContext Comparison="exact">
    <saml:AuthnContextClassRef xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport</saml:AuthnContextClassRef>
  </samlp:RequestedAuthnContext>

</samlp:AuthnRequest>

我将重定向发送到:

SSOCircle

我使用的图书馆来自https://idp.ssocircle.com:443/sso/SSORedirect/metaAlias/ssocircle(我很满意)。

1 个答案:

答案 0 :(得分:1)

问题是AuthnRequest中的Destination属性设置为http://localhost:9000/saml/service,您实际上是将其发送到https://idp.ssocircle.com:443/sso/SSORedirect/metaAlias/ssocircle

目标属性必须与实际目的地相同。