问题描述
我试图通过web.config来配置sustainsys.saml2,以从SP发送带有嵌入式签名的logoutrequest。我的理解是这种类型的logoutrequest是使用http-post绑定的。看我对SP元数据的初始设置,SP与http-redirect绑定,如第一幅图所示:
singlelogoutservice from sp metadata
为什么我要与http-post绑定是出于某种原因,当IDP(OKTA)收到注销请求时,它们以“ authnFailed”响应。根据我们MFA团队的OKTA日志,该日志显示:
失败:发行人不匹配
根据我们的MFA团队,他们是注销请求未签名。在进一步讨论之后,IDP期望签名被嵌入到logoutrequest xml中,即http-post。我可以确认http重定向正在请求中发送签名。尽管同时提供了他们提供的IDP元数据,但它们似乎可以处理第二张图片中所示的http-redirect:
singleoutservice from IDP metadata
在我使用dev sandBox进行本地开发期间,我没有遇到http-redirect问题。现在,这是在我们的开发/单元测试Web服务器上发生的。所有证书均已设置。我们正在使用xml文件中的本地IDP元数据。我只想尝试绑定http-post来解决问题,似乎无法通过该绑定发送。这是sustainsys的配置。
sustainsys web.config configuration
请注意,我在asp.net Web窗体应用程序中使用了sustainsys.saml2 httpmodule设置。
在这个SP / IDP世界中,我还是一个新手,但肯定可以学到很多东西。任何帮助或建议,我们将不胜感激。
解决方法
我也遇到了“发行人不匹配”的失败。就我而言,这是“ SP Issuer”配置设置。
SP颁发者-应用程序的标识符。这可以是ACS URL或SP实体ID。该值也包含在SP应用程序从SLO请求发送的元数据中。
https://help.okta.com/en/prod/Content/Topics/Apps/Apps_Single_Logout.htm
我将其设置为SP实体ID,这让Okta高兴了。