From a07fb1f1a886ba8a52cc8d40622483f4c56b52d4 Mon Sep 17 00:00:00 2001 From: sadilchamishka Date: Sun, 19 Nov 2023 13:25:22 +0530 Subject: [PATCH] Fix active user sessions not retrieved for b2b users accessing MyAccount --- .../user/session/v1/core/SessionManagementService.java | 10 +++++++++- pom.xml | 2 +- 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/components/org.wso2.carbon.identity.api.user.session/org.wso2.carbon.identity.api.user.session.v1/src/main/java/org/wso2/carbon/identity/rest/api/user/session/v1/core/SessionManagementService.java b/components/org.wso2.carbon.identity.api.user.session/org.wso2.carbon.identity.api.user.session.v1/src/main/java/org/wso2/carbon/identity/rest/api/user/session/v1/core/SessionManagementService.java index 6815fa344..d1a9cede2 100644 --- a/components/org.wso2.carbon.identity.api.user.session/org.wso2.carbon.identity.api.user.session.v1/src/main/java/org/wso2/carbon/identity/rest/api/user/session/v1/core/SessionManagementService.java +++ b/components/org.wso2.carbon.identity.api.user.session/org.wso2.carbon.identity.api.user.session.v1/src/main/java/org/wso2/carbon/identity/rest/api/user/session/v1/core/SessionManagementService.java @@ -21,6 +21,7 @@ import org.apache.commons.lang.StringUtils; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; +import org.wso2.carbon.context.PrivilegedCarbonContext; import org.wso2.carbon.identity.api.user.common.error.APIError; import org.wso2.carbon.identity.api.user.common.error.ErrorResponse; import org.wso2.carbon.identity.api.user.common.function.UserToUniqueId; @@ -29,6 +30,7 @@ import org.wso2.carbon.identity.application.authentication.framework.exception.UserSessionException; import org.wso2.carbon.identity.application.authentication.framework.exception.session.mgt.SessionManagementClientException; import org.wso2.carbon.identity.application.authentication.framework.exception.session.mgt.SessionManagementException; +import org.wso2.carbon.identity.application.authentication.framework.model.AuthenticatedUser; import org.wso2.carbon.identity.application.authentication.framework.model.UserSession; import org.wso2.carbon.identity.application.authentication.framework.store.UserSessionStore; import org.wso2.carbon.identity.application.authentication.framework.util.SessionMgtConstants; @@ -92,7 +94,7 @@ public class SessionManagementService { public SessionsDTO getSessionsBySessionId(User user, Integer limit, Integer offset, String filter, String sort) { String userId; - if (isFederatedUser()) { + if (isFederatedUser() && !isOrganizationSsoUser()) { userId = getFederatedUserIdFromUser(user); } else { userId = getUserIdFromUser(user); @@ -400,6 +402,12 @@ private boolean isFederatedUser() { (boolean) IdentityUtil.threadLocalProperties.get().get(IS_FEDERATED_USER); } + private boolean isOrganizationSsoUser() { + + return isFederatedUser() && StringUtils.isNotEmpty(PrivilegedCarbonContext.getThreadLocalCarbonContext() + .getUserResidentOrganizationId()); + } + /** * Get the filter nodes as a list. * diff --git a/pom.xml b/pom.xml index 8119c1c96..89763ffe3 100644 --- a/pom.xml +++ b/pom.xml @@ -420,7 +420,7 @@ 2.3.1.wso2v1 1.4 1.2.4 - 4.9.0 + 4.9.17 1.8.73 5.25.380 5.3.7