From 653b26a0aef1ecf084a6fddd2c64a97910195018 Mon Sep 17 00:00:00 2001 From: Hasini Samarathunga Date: Wed, 23 Oct 2024 23:31:46 +0530 Subject: [PATCH] Skip email domain validation for shared user creation --- .../pom.xml | 5 +++++ .../listener/OrganizationDiscoveryUserOperationListener.java | 4 ++++ 2 files changed, 9 insertions(+) diff --git a/components/org.wso2.carbon.identity.organization.discovery.service/pom.xml b/components/org.wso2.carbon.identity.organization.discovery.service/pom.xml index bee8bd6a2..4a2148729 100644 --- a/components/org.wso2.carbon.identity.organization.discovery.service/pom.xml +++ b/components/org.wso2.carbon.identity.organization.discovery.service/pom.xml @@ -47,6 +47,10 @@ org.wso2.carbon.identity.organization.management org.wso2.carbon.identity.organization.config.service + + org.wso2.carbon.identity.organization.management + org.wso2.carbon.identity.organization.management.organization.user.sharing + @@ -105,6 +109,7 @@ org.wso2.carbon.identity.organization.discovery.service.constant;version="${org.wso2.identity.organization.mgt.imp.pkg.version.range}", org.wso2.carbon.identity.organization.discovery.service.dao;version="${org.wso2.identity.organization.mgt.imp.pkg.version.range}", org.wso2.carbon.identity.organization.discovery.service.model;version="${org.wso2.identity.organization.mgt.imp.pkg.version.range}", + org.wso2.carbon.identity.organization.management.organization.user.sharing.constant;version="${org.wso2.identity.organization.mgt.imp.pkg.version.range}", org.wso2.carbon.identity.organization.management.service;version="${org.wso2.identity.organization.mgt.core.imp.pkg.version.range}", org.wso2.carbon.identity.organization.management.service.constant;version="${org.wso2.identity.organization.mgt.core.imp.pkg.version.range}", org.wso2.carbon.identity.organization.management.service.exception;version="${org.wso2.identity.organization.mgt.core.imp.pkg.version.range}", diff --git a/components/org.wso2.carbon.identity.organization.discovery.service/src/main/java/org/wso2/carbon/identity/organization/discovery/service/listener/OrganizationDiscoveryUserOperationListener.java b/components/org.wso2.carbon.identity.organization.discovery.service/src/main/java/org/wso2/carbon/identity/organization/discovery/service/listener/OrganizationDiscoveryUserOperationListener.java index 132e138bd..8bce99f9c 100644 --- a/components/org.wso2.carbon.identity.organization.discovery.service/src/main/java/org/wso2/carbon/identity/organization/discovery/service/listener/OrganizationDiscoveryUserOperationListener.java +++ b/components/org.wso2.carbon.identity.organization.discovery.service/src/main/java/org/wso2/carbon/identity/organization/discovery/service/listener/OrganizationDiscoveryUserOperationListener.java @@ -46,6 +46,7 @@ import static org.wso2.carbon.identity.organization.config.service.constant.OrganizationConfigConstants.ErrorMessages.ERROR_CODE_DISCOVERY_CONFIG_NOT_EXIST; import static org.wso2.carbon.identity.organization.discovery.service.constant.DiscoveryConstants.ENABLE_CONFIG; import static org.wso2.carbon.identity.organization.discovery.service.constant.DiscoveryConstants.PRE_ADD_USER_EMAIL_DOMAIN_VALIDATE; +import static org.wso2.carbon.identity.organization.management.organization.user.sharing.constant.UserSharingConstants.CLAIM_MANAGED_ORGANIZATION; import static org.wso2.carbon.identity.organization.management.service.constant.OrganizationManagementConstants.ErrorMessages.ERROR_CODE_EMAIL_DOMAIN_ASSOCIATED_WITH_DIFFERENT_ORGANIZATION; import static org.wso2.carbon.identity.organization.management.service.constant.OrganizationManagementConstants.ErrorMessages.ERROR_CODE_EMAIL_DOMAIN_NOT_MAPPED_TO_ORGANIZATION; @@ -80,6 +81,9 @@ public boolean doPreAddUserWithID(String userName, Object credential, String[] r if (!OrganizationManagementUtil.isOrganization(tenantDomain)) { return true; } + if (claims.containsKey(CLAIM_MANAGED_ORGANIZATION)) { + return true; + } String organizationId = PrivilegedCarbonContext.getThreadLocalCarbonContext().getOrganizationId(); if (StringUtils.isBlank(organizationId)) { organizationId = getOrganizationManager().resolveOrganizationId(tenantDomain);