问题描述
当用户单击注销时,我会将其重定向到“ /Shibboleth.sso/注销”
这成功将它们带到Microsoft注销页面,然后将它们重定向回SP。
但是,当他们返回到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时,我按原样上传了元数据。
这填充了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"/>
Azure应该使用“ https://app/Shibboleth.sso/SLO/Redirect”位置,而不是使用SOAP URL。