您好,我正在尝试使用 SSO 直接对我的客户的用户进行身份验证到我的网站。我客户的 IDP 是 Microsoft ADFS,我使用 Passport-SAML ( https://github.com/bergie/passport-saml ) 来配置 SSO 过程。
到达我给我的客户的特殊 URL(例如: www.myClient.myCompany.com )后,用户(未经身份验证)按预期重定向到客户端登录页面。
输入凭据后,他仍然停留在登录页面 但是 SSO 工作是因为用户已通过身份验证,这意味着如果他打开一个新选项卡并转到 www.myClient.myCompany.com,他将被重定向到我的网站。
这是 ADFS 服务器日志中的错误:
The Federation Service encountered an error while processing the SAML authentication request.
Additional Data
Exception details:
Microsoft.IdentityModel.Protocols.XmlSignature.SignatureVerificationFailedException: MSIS0038: SAML Message has wrong signature. Issuer: 'www.myCompany.co'.
at Microsoft.IdentityServer.Protocols.Saml.Contract.SamlContractUtility.CreateSamlMessage(MSISSamlBindingMessage message)
at Microsoft.IdentityServer.Service.SamlProtocol.SamlProtocolService.Issue(IssueRequest issueRequest)
at Microsoft.IdentityServer.Service.SamlProtocol.SamlProtocolService.ProcessRequest(Message requestMessage)
感谢您的时间!
最佳答案
我不熟悉 Microsoft ADFS 或 Passport-SAML,但是当我们遇到签名错误时,我是因为 IDp 证书的 SHA1 指纹与我们最后的不匹配。
我们通过确保证书格式正确,然后计算指纹来修复它们。
格式:
https://developers.onelogin.com/saml/online-tools/x509-certs/format-x509-certificate
指纹:
https://developers.onelogin.com/saml/online-tools/x509-certs/calculate-fingerprint
希望这是你的情况
关于single-sign-on - 带有 ADFS 的 SSO 的 SAML 错误 - MSIS0038 : SAML Message has wrong signature,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49559023/