【发布时间】:2018-07-11 14:49:26
【问题描述】:
您好,我正在尝试使用 SSO 将客户的用户直接验证到我的网站。我的客户的 IDP 是 Microsoft ADFS,我正在使用 Passport-SAML (https://github.com/bergie/passport-saml) 来配置 SSO 流程。
当我尝试登录时,客户端的 ADFS 服务器日志中出现以下错误:
“Federation Service 在处理 SAML 身份验证请求时遇到错误”
在异常详情中:
“MSIS0038:SAML 消息的签名错误。颁发者:'myCompany_com'。”
这是我遵循的过程:
1/ 使用护照脚本获取我的数据文件 myCompany.xml 并将其提供给我的客户
2/ 我的客户将其添加到他的 ADFS 的 Add Relying Party Trust 中,使用 Send LDAP Attributes as Claims 模板添加规则并使用 添加另一个规则转换传入的声明选项并向我发送他的证书
错误流程: 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>
【问题讨论】:
标签: xml single-sign-on saml-2.0 adfs passport-saml