opensaml::BindingException 当使用 Azure ActiveDirectory 作为 IdP 注销 Shibboleth 服务提供商时

opensaml::BindingException when logging out of a Shibboleth Service Provider with Azure ActiveDirectory as IdP

当用户点击注销时,我会将他们重定向到“/Shibboleth。sso/Logout”
这成功地将他们带到 Microsoft 注销页面,然后他们被重定向回 SP。
但是,当他们 return 到 SP 时,他们收到一条 SOAP 错误消息。

opensaml::BindingException

The system encountered an error at Wed Sep 30 19:13:08 2020

To report this problem, please contact the site administrator at help@example.com.

Please include the following message in any email:

opensaml::BindingException at (https://app/Shibboleth.sso/SLO/SOAP)

Invalid content type for SOAP message.

在 Azure 上配置 SP 时,我上传了元数据 as-is。
这填充了 Azure 上的字段,并且大部分工作正常。
但是,它将注销 url 作为元数据中的第一个条目提取:

<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:SOAP" Location="https://app/Shibboleth.sso/SLO/SOAP"/>
<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Redirect" Location="https://app/Shibboleth.sso/SLO/Redirect"/>
<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://app/Shibboleth.sso/SLO/POST"/>
<md:SingleLogoutService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-Artifact" Location="https://app/Shibboleth.sso/SLO/Artifact"/>

与其使用 SOAP url,Azure 应该使用“https:///app/Shibboleth.sso/SLO/Redirect”位置。