如何删除WSO2 IS中特定服务提供商的特定用户的会话?

如何删除WSO2 IS中特定服务提供商的特定用户的会话?,wso2,identityserver4,wso2is,Wso2,Identityserver4,Wso2is,WSO2 Identity server是否提供任何Web服务来删除特定用户到特定服务提供商的会话? 我将SAMLSSO用于许多web应用程序,它们都与WSO2服务器集成。 现在假设场景是,用户同时使用2个应用程序登录。我想从一个应用程序中注销它。 注销提供了一个服务,它提供单次注销,所有应用程序的会话都将被删除。is提供了Web服务或通过某种方式实现某个特定应用程序的注销?您要求的是能够从Identity Server端创建的会话中删除特定参与者。我看不到实现这一目标的捷径(OOTB) 你能达

WSO2 Identity server是否提供任何Web服务来删除特定用户到特定服务提供商的会话? 我将SAMLSSO用于许多web应用程序,它们都与WSO2服务器集成。 现在假设场景是,用户同时使用2个应用程序登录。我想从一个应用程序中注销它。
注销提供了一个服务,它提供单次注销,所有应用程序的会话都将被删除。is提供了Web服务或通过某种方式实现某个特定应用程序的注销?

您要求的是能够从Identity Server端创建的会话中删除特定参与者。我看不到实现这一目标的捷径(OOTB)

你能达到的最接近的目标如下

  • 使应用程序执行
    forceAuth
    。ForceAuth将请求用户凭据,尽管浏览器中有cookie。(这将阻止用户体验SSO舒适性。您仍然可以根据IS进行身份验证)
  • 阻止应用程序向WSO2发送SLO请求。而是在注销时终止self(应用程序)会话
  • 当您的应用程序确实希望执行SLO(注销所有应用程序,而不仅仅是您的应用程序)时,您的应用程序可以向Identity Server发送SLO请求
  • 执行强制身份验证:

  • SAML-在登录请求中发送
    forceAuth=true
    作为查询参数。或者更改SAML
    AuthenricationRequest
    payload主体,以指示强制身份验证,如中所示
  • OIDC-发送
    prompt=login
    ,作为
    /authorization
    请求中的附加查询参数

  • 您要求的是能够从Identity Server端创建的会话中删除特定参与者。我看不到实现这一目标的捷径(OOTB)

    你能达到的最接近的目标如下

  • 使应用程序执行
    forceAuth
    。ForceAuth将请求用户凭据,尽管浏览器中有cookie。(这将阻止用户体验SSO舒适性。您仍然可以根据IS进行身份验证)
  • 阻止应用程序向WSO2发送SLO请求。而是在注销时终止self(应用程序)会话
  • 当您的应用程序确实希望执行SLO(注销所有应用程序,而不仅仅是您的应用程序)时,您的应用程序可以向Identity Server发送SLO请求
  • 执行强制身份验证:

  • SAML-在登录请求中发送
    forceAuth=true
    作为查询参数。或者更改SAML
    AuthenricationRequest
    payload主体,以指示强制身份验证,如中所示
  • OIDC-发送
    prompt=login
    ,作为
    /authorization
    请求中的附加查询参数

  • 您可以通过调用WSO2提供的RESTAPI和SOAP API来实现这一点。这将删除WSO2上的会话,但我不确定它是否也会触发其他服务提供商的SLO

    参考:

    • 从UserProfileMgtService.wsdl触发SOAP请求getUserProfile。默认用户配置文件将为“默认”,或者您可以输入您使用的自定义配置文件名称。这将返回详细信息。从中获取用户id
    • 触发使用步骤1中的用户id访问API://{user id}/sessions,以获取该用户当前拥有的所有活动会话的列表。浏览会话列表,找到需要清除的服务提供商的会话ID
    • 使用步骤1中的用户id和步骤2中的会话id触发对API://{user id}/sessions/{session id}的删除请求

    您可以通过调用WSO2提供的REST API和SOAP API来实现这一点。这将删除WSO2上的会话,但我不确定它是否也会触发其他服务提供商的SLO

    参考:

    • 从UserProfileMgtService.wsdl触发SOAP请求getUserProfile。默认用户配置文件将为“默认”,或者您可以输入您使用的自定义配置文件名称。这将返回详细信息。从中获取用户id
    • 触发使用步骤1中的用户id访问API://{user id}/sessions,以获取该用户当前拥有的所有活动会话的列表。浏览会话列表,找到需要清除的服务提供商的会话ID
    • 使用步骤1中的用户id和步骤2中的会话id触发对API://{user id}/sessions/{session id}的删除请求

    好的,谢谢你的回答。但这并不能解决我的问题:(.我想用另一种方式来解决我的问题。你知道你的想法吗?任何洞见都会得到赞赏?好的,谢谢你的回答。但这不能解决我的问题:(.我想用另一种方式来解决我的问题。你知道你的洞见会得到赞赏吗?