WSO2是.软件包org.wso2.Identity.SSO和SSO SLO for多个应用程序



我找不到软件包org.wso2.carbon.Identity.sso.saml的源。在GitHub存储库WSO2-ATTIC/CARBON-IDSIDITITY中有这些类,但是有注意,存储库不再用于开发,我找到了2个链接:

https://github.com/wso2/identity-framework    
https://github.com/wso2-extensions?utf8=%E2%9C%93&query=identity

,但我没有找到来自package org.wso.wso2.carbon.indistity.sso.saml的类别

我在2个应用程序中遇到SSO SLO的问题:

i登录到2个应用程序:ab

从一个应用程序中注销正常工作,但是当我尝试从第二个应用程序注销时,我会得到错误 [4] [IS]错误{org.wso2.carbon.identity.sso.saml.processors.SPInitLogoutRequestProcessor} - ssoTokenId cookie not found in the logout request和html:

SAML 2.0 based Single Sign-On
Error when processing the authentication request!
Please try login again. 

SAML注销响应具有链接

https://test2-sso2.auth.test.vu.lt:9443/authenticationendpoint/samlsso_notification.do?status=Error+when+processing+the+authentication+request%21&statusMsg=Please+try+login+again.

和SAML响应参数:

<saml2p:LogoutResponse Destination="https://test2-wso2.auth.test.vu.lt:9443/samlsso"
                       ID="_9cb47e1d90276bcc53d4b110d3573b82"
                       InResponseTo="fgehcpnbagimhhcacbaanopameodckepmopaoaek"
                       IssueInstant="2017-08-31T11:09:43.403Z"
                       Version="2.0"
                       xmlns:saml2p="urn:oasis:names:tc:SAML:2.0:protocol"
                       >
    <saml2:Issuer Format="urn:oasis:names:tc:SAML:2.0:nameid-format:entity"
                  xmlns:saml2="urn:oasis:names:tc:SAML:2.0:assertion"
                  >test2-wso2</saml2:Issuer>
    <saml2p:Status>
        <saml2p:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Requester" />
        <saml2p:StatusMessage>Session was already Expired</saml2p:StatusMessage>
    </saml2p:Status>
</saml2p:LogoutResponse>

所以,我有2个问题:

  • 我可以从package org.wso.wso2.carbon.Identity.sso.saml中找到类的地方;
  • 也许有人可以帮助我解决SSO SLO的问题?

我们正在与WSO2合作是V.5.3.0。这些应用程序之一是Travelocity.com,另一个是我们的应用程序,其架构类似于Travelocity.com。我们正在多租户建筑领域工作。两个应用程序(服务提供商)均在同一租户

中配置

我假设您正在寻找SPInitLogoutRequestProcessor。您可以在[1]上找到它。对于IS 5.3.0,SAML组件相关的开发发生在5.3.x分支中。

用于SLO上的查询;当您将2个应用程序配置为单个注销并从一个应用程序注销时,身份服务器将使用户的身份验证会话无效,并将back-Channel SAML列入请求发送给其他会话参与者(在这种情况下为App 2)。因此,第二个应用程序应在接收到的注销请求时将其用户会话无效。

您应该看到的错误是无法为注销请求找到有效的身份验证会话(由于已经删除了会话)。[2]有一个详细的解释,说明单个注销是如何发生的。

您可以采用的另一种方法是在发送注销请求之前检查IDP侧的现有身份验证会话。您可以使用被动SAML请求检查会话的状态,如果会话已经存在,请发送注销请求。

最新更新