我正在SAML身份提供程序和多个服务提供程序之间设置单个注销功能。
除在SalesForce上运行的应用程序外,所有服务提供商都接受SLO请求并成功注销。
在身份提供者方面,我根据文档https://myapp2.my.salesforce.com/services/auth/sp/saml2/logout使用https://help.salesforce.com/articleView?id=security_auth_slo_saml_sp_configuring.htm SLO端点
这是注销启动应用程序发送到身份提供者的SLO请求:
<saml2p:LogoutRequest xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol" Destination="https://myidp.example.com/logout" ID="_fbe064a1-07f7-4644-8db1-acf9bdc41c48" IssueInstant="2019-05-20T21:50:28.504Z" Version="2.0"><saml2:Issuer xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion">https://myapp1.example.com</saml2:Issuer><saml2:NameID xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion" Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">test@example.com</saml2:NameID><saml2p:SessionIndex>_pWeWV215PGBTqXAUuA4D1Mt_f7Q7zTtp</saml2p:SessionIndex></saml2p:LogoutRequest>
这是身份提供者向下发送到SalesForce应用程序的注销请求:
<samlp:LogoutRequest ID="_73cb325d7b4d76408da4" Version="2.0" IssueInstant="2019-05-20T21:50:28Z" Destination="myapp2.my.salesforce.com/services/auth/sp/saml2/logout" Consent="urn:oasis:names:tc:SAML:2.0:consent:unspecified" xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"><Issuer xmlns="urn:oasis:names:tc:SAML:2.0:assertion">urn:myidp.example.com</Issuer><NameID xmlns="urn:oasis:names:tc:SAML:2.0:assertion" Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">test@example.com</NameID><samlp:SessionIndex>_QoKR3t5Z3eurZYj9DTQhixyCAfkva74D</samlp:SessionIndex></samlp:LogoutRequest>
SLO请求命中SalesForce端点后的错误消息是非常普通的,没有日志对其进行故障排除:
Logout Error: We are unable to log you out. Please contact your administrator for more information
有什么方法可以从SalesForce方面解决此问题?至少以某种方式捕获了SalesForce中的内部错误消息?