/** * Check the case sensitivity of the user store in which the user is in. * * @param username user name with user store domain * @param tenantId tenant id of the user * @return */ public static boolean isUserStoreInUsernameCaseSensitive(String username, int tenantId) { return isUserStoreCaseSensitive(IdentityUtil.extractDomainFromName(username), tenantId); }
/** * Check the case sensitivity of the user store in which the user is in. * * @param username user name with user store domain * @param tenantId tenant id of the user * @return */ public static boolean isUserStoreInUsernameCaseSensitive(String username, int tenantId) { return isUserStoreCaseSensitive(IdentityUtil.extractDomainFromName(username), tenantId); }
/** * Check the case sensitivity of the user store in which the user is in. * * @param username user name with user store domain * @param tenantId tenant id of the user * @return */ public static boolean isUserStoreInUsernameCaseSensitive(String username, int tenantId) { return isUserStoreCaseSensitive(IdentityUtil.extractDomainFromName(username), tenantId); }
public LocalRole(String combinedRoleName) { this.userStoreId = IdentityUtil.extractDomainFromName(combinedRoleName); this.localRoleName = UserCoreUtil.removeDomainFromName(combinedRoleName); }
public LocalRole(String combinedRoleName) { this.userStoreId = IdentityUtil.extractDomainFromName(combinedRoleName); this.localRoleName = UserCoreUtil.removeDomainFromName(combinedRoleName); }
/** * remove user store domain from names except the domain 'Internal' * * @param names * @return */ private List<String> removeDomainFromNamesExcludeInternal(List<String> names, int tenantId) { List<String> nameList = new ArrayList<String>(); for (String name : names) { String userStoreDomain = IdentityUtil.extractDomainFromName(name); if (UserCoreConstants.INTERNAL_DOMAIN.equalsIgnoreCase(userStoreDomain)) { nameList.add(name); } else { nameList.add(UserCoreUtil.removeDomainFromName(name)); } } return nameList; }
/** * remove user store domain from names except the domain 'Internal' * * @param names * @return */ private List<String> removeDomainFromNamesExcludeInternal(List<String> names, int tenantId) { List<String> nameList = new ArrayList<String>(); for (String name : names) { String userStoreDomain = IdentityUtil.extractDomainFromName(name); if (UserCoreConstants.INTERNAL_DOMAIN.equalsIgnoreCase(userStoreDomain)) { nameList.add(name); } else { nameList.add(UserCoreUtil.removeDomainFromName(name)); } } return nameList; } }
/** * remove user store domain from names except the domain 'Internal' * * @param names * @return */ private List<String> removeDomainFromNamesExcludeInternal(List<String> names, int tenantId) { List<String> nameList = new ArrayList<String>(); for (String name : names) { String userStoreDomain = IdentityUtil.extractDomainFromName(name); if (UserCoreConstants.INTERNAL_DOMAIN.equalsIgnoreCase(userStoreDomain)) { nameList.add(name); } else { nameList.add(UserCoreUtil.removeDomainFromName(name)); } } return nameList; }
private boolean validateDomainsForDelete(String[] domains) { String userDomain = IdentityUtil.extractDomainFromName(PrivilegedCarbonContext.getThreadLocalCarbonContext() .getUsername()); for (String domain : domains) { if (domain.equalsIgnoreCase(userDomain)) { //Trying to delete own domain return false; } } return true; }
private boolean validateDomainsForDelete(String[] domains) { String userDomain = IdentityUtil.extractDomainFromName(PrivilegedCarbonContext.getThreadLocalCarbonContext() .getUsername()); for (String domain : domains) { if (domain.equalsIgnoreCase(userDomain)) { //Trying to delete own domain return false; } } return true; }
private void triggerNotification(String user, String type, String tenantDomain) throws IdentityRecoveryException { String eventName = IdentityEventConstants.Event.TRIGGER_NOTIFICATION; HashMap<String, Object> properties = new HashMap<>(); properties.put(IdentityEventConstants.EventProperty.USER_NAME, UserCoreUtil.removeDomainFromName(user)); properties.put(IdentityEventConstants.EventProperty.TENANT_DOMAIN, tenantDomain); properties.put(IdentityEventConstants.EventProperty.USER_STORE_DOMAIN, IdentityUtil.extractDomainFromName(user)); properties.put(IdentityRecoveryConstants.TEMPLATE_TYPE, type); Event identityMgtEvent = new Event(eventName, properties); try { IdentityRecoveryServiceDataHolder.getInstance().getIdentityEventService().handleEvent(identityMgtEvent); } catch (IdentityEventException e) { throw Utils.handleServerException(IdentityRecoveryConstants.ErrorMessages .ERROR_CODE_TRIGGER_NOTIFICATION, user, e); } }
public static AuthenticatedUser getUserFromUserName(String username) throws IllegalArgumentException { if (StringUtils.isNotBlank(username)) { String tenantDomain = MultitenantUtils.getTenantDomain(username); String tenantAwareUsername = MultitenantUtils.getTenantAwareUsername(username); String tenantAwareUsernameWithNoUserDomain = UserCoreUtil.removeDomainFromName(tenantAwareUsername); String userStoreDomain = IdentityUtil.extractDomainFromName(username).toUpperCase(); AuthenticatedUser user = new AuthenticatedUser(); user.setUserName(tenantAwareUsernameWithNoUserDomain); user.setTenantDomain(tenantDomain); user.setUserStoreDomain(userStoreDomain); return user; } throw new IllegalArgumentException("Cannot create user from empty user name"); }
public static AuthenticatedUser getUserFromUserName(String username) throws IllegalArgumentException { if (StringUtils.isNotBlank(username)) { String tenantDomain = MultitenantUtils.getTenantDomain(username); String tenantAwareUsername = MultitenantUtils.getTenantAwareUsername(username); String tenantAwareUsernameWithNoUserDomain = UserCoreUtil.removeDomainFromName(tenantAwareUsername); String userStoreDomain = IdentityUtil.extractDomainFromName(username).toUpperCase(); AuthenticatedUser user = new AuthenticatedUser(); user.setUserName(tenantAwareUsernameWithNoUserDomain); user.setTenantDomain(tenantDomain); user.setUserStoreDomain(userStoreDomain); return user; } throw new IllegalArgumentException("Cannot create user from empty user name"); }
public static AuthenticatedUser getAuthenticatedUser(String fullyQualifiedUserName) { if (StringUtils.isBlank(fullyQualifiedUserName)) { throw new RuntimeException("Invalid username."); } AuthenticatedUser authenticatedUser = new AuthenticatedUser(); authenticatedUser.setUserStoreDomain(IdentityUtil.extractDomainFromName(fullyQualifiedUserName)); authenticatedUser.setTenantDomain(MultitenantUtils.getTenantDomain(fullyQualifiedUserName)); String username = fullyQualifiedUserName; if (fullyQualifiedUserName.startsWith(authenticatedUser.getUserStoreDomain())) { username = UserCoreUtil.removeDomainFromName(fullyQualifiedUserName); } authenticatedUser.setUserName(MultitenantUtils.getTenantAwareUsername(username)); return authenticatedUser; }
public static AuthenticatedUser getAuthenticatedUser(String fullyQualifiedUserName) { if (StringUtils.isBlank(fullyQualifiedUserName)) { throw new RuntimeException("Invalid username."); } AuthenticatedUser authenticatedUser = new AuthenticatedUser(); authenticatedUser.setUserName(IdentityUtil.extractDomainFromName(fullyQualifiedUserName)); authenticatedUser.setTenantDomain(MultitenantUtils.getTenantDomain(fullyQualifiedUserName)); String username = fullyQualifiedUserName; if(fullyQualifiedUserName.startsWith(authenticatedUser.getUserStoreDomain())) { username = UserCoreUtil.removeDomainFromName(fullyQualifiedUserName); } authenticatedUser.setUserName(MultitenantUtils.getTenantAwareUsername(username)); return authenticatedUser; }
private AuthenticatedUser buildAuthenticatedUser(String tenantAwareUser, String tenantDomain) { AuthenticatedUser user = new AuthenticatedUser(); user.setUserName(UserCoreUtil.removeDomainFromName(tenantAwareUser)); user.setTenantDomain(tenantDomain); user.setUserStoreDomain(IdentityUtil.extractDomainFromName(tenantAwareUser)); return user; }
/** * Registers an consumer secret against the logged in user. A given user can only have a single * consumer secret at a time. Calling this method again and again will update the existing * consumer secret key. * * @return An array containing the consumer key and the consumer secret correspondingly. * @throws IdentityOAuthAdminException Error when persisting the data in the persistence store. */ public String[] registerOAuthConsumer() throws IdentityOAuthAdminException { String loggedInUser = CarbonContext.getThreadLocalCarbonContext().getUsername(); if (log.isDebugEnabled()) { log.debug("Adding a consumer secret for the logged in user " + loggedInUser); } String tenantUser = MultitenantUtils.getTenantAwareUsername(loggedInUser); int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId(); String userDomain = IdentityUtil.extractDomainFromName(loggedInUser); OAuthAppDAO dao = new OAuthAppDAO(); return dao.addOAuthConsumer(UserCoreUtil.removeDomainFromName(tenantUser), tenantId, userDomain); }
/** * Registers an consumer secret against the logged in user. A given user can only have a single * consumer secret at a time. Calling this method again and again will update the existing * consumer secret key. * * @return An array containing the consumer key and the consumer secret correspondingly. * @throws Exception Error when persisting the data in the persistence store. */ public String[] registerOAuthConsumer() throws IdentityOAuthAdminException { String loggedInUser = CarbonContext.getThreadLocalCarbonContext().getUsername(); if (log.isDebugEnabled()) { log.debug("Adding a consumer secret for the logged in user " + loggedInUser); } String tenantUser = MultitenantUtils.getTenantAwareUsername(loggedInUser); int tenantId = CarbonContext.getThreadLocalCarbonContext().getTenantId(); String userDomain = IdentityUtil.extractDomainFromName(loggedInUser); OAuthAppDAO dao = new OAuthAppDAO(); return dao.addOAuthConsumer(UserCoreUtil.removeDomainFromName(tenantUser), tenantId, userDomain); }
/** * Return an array of federated identifiers associated with the logged in user. * * @return an array of AssociatedAccountDTO objects which contains the federated identifier info * @throws UserProfileException */ public AssociatedAccountDTO[] getAssociatedIDs() throws UserProfileException { String tenantAwareUsername = CarbonContext.getThreadLocalCarbonContext().getUsername(); String userStoreDomainName = IdentityUtil.extractDomainFromName(tenantAwareUsername); String username = UserCoreUtil.removeDomainFromName(tenantAwareUsername); int tenantID = CarbonContext.getThreadLocalCarbonContext().getTenantId(); try { return UserProfileMgtDAO.getInstance().getAssociatedFederatedAccountsForUser(tenantID, userStoreDomainName, username).toArray(new AssociatedAccountDTO[0]); } catch (UserProfileException e) { String msg = "Error while retrieving federated identifiers associated for user: " + tenantAwareUsername + " in tenant: " + getTenantDomain(); log.error(msg, e); throw new UserProfileException(msg, e); } }
/** * Remove the association with the given federated identifier for the logged in user. * * @param idpID Identity Provider ID * @param associatedID Federated Identity ID * @throws UserProfileException */ public void removeAssociateID(String idpID, String associatedID) throws UserProfileException { int tenantID = CarbonContext.getThreadLocalCarbonContext().getTenantId(); String tenantAwareUsername = CarbonContext.getThreadLocalCarbonContext().getUsername(); String userStoreDomainName = IdentityUtil.extractDomainFromName(tenantAwareUsername); String username = UserCoreUtil.removeDomainFromName(tenantAwareUsername); try { UserProfileMgtDAO.getInstance().deleteAssociation(tenantID, userStoreDomainName, username, idpID, associatedID); } catch (UserProfileException e) { String msg = "Error while removing association with federated IdP: " + idpID + " for user: " + tenantAwareUsername + " in tenant: " + getTenantDomain(); log.error(msg, e); throw new UserProfileException(msg, e); } }