Sustainsys.Saml2 SLO 注销请求拒绝状态错误
Sustainsys.Saml2 SLO Logout RequestDenied status error
我在实施 Single 方面需要帮助 Logout.I 能够实施 SSO 服务 successfully.But SLO 服务不工作。
在基于 OWIN 的 asp.net MVC 应用程序上执行注销后,我得到了 RequestDenied 状态代码。
<saml2p:LogoutRequest
Destination="https://sap-client.accounts.ondemand.com/saml2/idp/slo/sap-client.accounts.ondemand.com"
ID="idb2d655f7174f465696a433c75a717b46" IssueInstant="2019-08-03T02:16:03Z" Version="2.0"
xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol">
<saml2:Issuer>https://sp.domain.com/Saml2</saml2:Issuer>
<saml2:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">xxx@xxx.com</saml2:NameID>
<saml2p:SessionIndex>S-SP-6aff8686-a642-4381-8ab3-0f18c6815ffe</saml2p:SessionIndex>
<LogoutResponse Destination="https://sp.domain.com/Saml2/Logout" ID="S0e6a2f99-2517-4326-a8ce-2ede2dfe1bfa" InResponseTo="idb2d655f7174f465696a433c75a717b46" IssueInstant="2019-08-03T02:16:04.933Z" Version="2.0" xmlns="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:ns2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns4="http://www.w3.org/2001/04/xmlenc#" xmlns:ns3="http://www.w3.org/2000/09/xmldsig#">
<ns2:Issuer>sap-client.accounts.ondemand.com</ns2:Issuer>
<Status>
<StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Requester">
<StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:RequestDenied" />
</StatusCode>
<StatusMessage>Identity Provider could not process the logout message received.</StatusMessage>
</Status>
这是 Owin 日志
Sustainsys.Saml2.Owin.Saml2AuthenticationMiddleware 错误:0:/Saml2/Logout 的 Saml2 错误
Sustainsys.Saml2.Exceptions.UnsuccessfulSamlOperationException: Idp returned status "Requester", 提示单点退出失败。本地会话已成功终止。
在 Sustainsys.Saml2.WebSso.LogoutCommand.HandleResponse(UnbindResult unbindResult,StoredRequestState storedRequestState,IOptions 选项,Uri returnUrl)
在 Sustainsys。Saml2.WebSso.LogoutCommand.Run(HttpRequestData 请求,字符串 returnPath,IOptions 选项)
在 Sustainsys.Saml2.Owin.Saml2AuthenticationHandler.d__4.MoveNext()
ProcessId=14888
日期时间=2019-08-04T06:16:22.3060366Z
提前致谢。
Idp returns 一个错误。您应该检查 Idp 上的日志以获取有关原因的更多信息。
可能还值得使用 SAML 开发工具 Chrome 检查实际消息,响应中可能嵌入了更多状态代码。
可能发生这种情况的一个原因是,如果您的应用程序中有一个长期存在的会话,该会话超出了 Idp 会话的生命周期。对于基于 owin 的应用程序,其中外部登录会话通常交换为应用程序登录会话,这可能会发生 - 会话生命周期限制在 ExternalLoginCallback 中完成的交换中丢失。
我在实施 Single 方面需要帮助 Logout.I 能够实施 SSO 服务 successfully.But SLO 服务不工作。 在基于 OWIN 的 asp.net MVC 应用程序上执行注销后,我得到了 RequestDenied 状态代码。
<saml2p:LogoutRequest
Destination="https://sap-client.accounts.ondemand.com/saml2/idp/slo/sap-client.accounts.ondemand.com"
ID="idb2d655f7174f465696a433c75a717b46" IssueInstant="2019-08-03T02:16:03Z" Version="2.0"
xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol">
<saml2:Issuer>https://sp.domain.com/Saml2</saml2:Issuer>
<saml2:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">xxx@xxx.com</saml2:NameID>
<saml2p:SessionIndex>S-SP-6aff8686-a642-4381-8ab3-0f18c6815ffe</saml2p:SessionIndex>
<LogoutResponse Destination="https://sp.domain.com/Saml2/Logout" ID="S0e6a2f99-2517-4326-a8ce-2ede2dfe1bfa" InResponseTo="idb2d655f7174f465696a433c75a717b46" IssueInstant="2019-08-03T02:16:04.933Z" Version="2.0" xmlns="urn:oasis:names:tc:SAML:2.0:protocol" xmlns:ns2="urn:oasis:names:tc:SAML:2.0:assertion" xmlns:ns4="http://www.w3.org/2001/04/xmlenc#" xmlns:ns3="http://www.w3.org/2000/09/xmldsig#">
<ns2:Issuer>sap-client.accounts.ondemand.com</ns2:Issuer>
<Status>
<StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Requester">
<StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:RequestDenied" />
</StatusCode>
<StatusMessage>Identity Provider could not process the logout message received.</StatusMessage>
</Status>
这是 Owin 日志
Sustainsys.Saml2.Owin.Saml2AuthenticationMiddleware 错误:0:/Saml2/Logout 的 Saml2 错误 Sustainsys.Saml2.Exceptions.UnsuccessfulSamlOperationException: Idp returned status "Requester", 提示单点退出失败。本地会话已成功终止。 在 Sustainsys.Saml2.WebSso.LogoutCommand.HandleResponse(UnbindResult unbindResult,StoredRequestState storedRequestState,IOptions 选项,Uri returnUrl) 在 Sustainsys。Saml2.WebSso.LogoutCommand.Run(HttpRequestData 请求,字符串 returnPath,IOptions 选项) 在 Sustainsys.Saml2.Owin.Saml2AuthenticationHandler.d__4.MoveNext() ProcessId=14888 日期时间=2019-08-04T06:16:22.3060366Z
提前致谢。
Idp returns 一个错误。您应该检查 Idp 上的日志以获取有关原因的更多信息。 可能还值得使用 SAML 开发工具 Chrome 检查实际消息,响应中可能嵌入了更多状态代码。
可能发生这种情况的一个原因是,如果您的应用程序中有一个长期存在的会话,该会话超出了 Idp 会话的生命周期。对于基于 owin 的应用程序,其中外部登录会话通常交换为应用程序登录会话,这可能会发生 - 会话生命周期限制在 ExternalLoginCallback 中完成的交换中丢失。