您如何配置SP启动的注销请求,以将http-post与sustainsys.saml2一起使用?

问题描述

我试图通过web.config来配置sustainsys.saml2,以从SP发送带有嵌入式签名的log​​outrequest。我的理解是这种类型的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高兴了。