使用passport-SAML express的ADFS的SSO的SAML错误

时间:2018-02-01 10:05:34

标签: xml single-sign-on saml-2.0 adfs passport-saml

您好我正在尝试使用SSO直接向我的网站验证我的客户用户身份。我的客户的IDP是Microsoft ADFS,我使用Passport-SAML(https://github.com/bergie/passport-saml)来配置SSO进程。

当我尝试登录时,我在客户端的ADFS服务器日志中收到以下错误:

"联合身份验证服务在处理SAML身份验证请求时遇到错误"

并在Exception详细信息中:

" MSIS0038:SAML邮件签名错误。发行人:' myCompany_com'"

这是我遵循的流程:

1 /使用护照脚本获取我的medatafile myCompany.xml并将其提供给我的客户端

2 /我的客户在其ADFS中添加添加信赖方信任,使用发送LDAP属性作为声明模板添加规则,并使用添加其他规则转换传入的声明选项并将其证书

发送给我

错误流程: 1 /来自myClient的用户访问认证区域(实际上在使用以下URL后重定向到那里:www.myClientSpace.myCompany.com 2 /输入他的凭证并尝试登录,然后错误出现在ADFS SERVER LOG中 也许我在XML文件中遗漏了一些东西......

感谢您的时间和帮助!

PS:这是我的XML文件

<EntityDescriptor entityID="myCompany_com" xmlns="urn:oasis:names:tc:SAML:2.0:metadata" xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
  <SPSSODescriptor protocolSupportEnumeration="urn:oasis:names:tc:SAML:2.0:protocol">
    <KeyDescriptor use="signing">
      <ds:KeyInfo xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
        <ds:X509Data>
            <ds:X509Certificate>MIICQ...</ds:X509Certificate>
        </ds:X509Data>
      </ds:KeyInfo>
    </KeyDescriptor>
    <SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://www.myCompany.com/adfs/postResponse/logout"/>
    <AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://www.myCompany.com/adfs/postResponse/postResponse" index="0"/>
  </SPSSODescriptor>
</EntityDescriptor>

1 个答案:

答案 0 :(得分:0)

证书有问题,例如这不是您用来签名的那个,或者导入ADFS时出错。

另一个可能的原因是你没有签署AuthnRequest,ADFS期待你,