private boolean isUsernameCaseSensitive(String tenantQualifiedUsername) { return IdentityUtil.isUserStoreInUsernameCaseSensitive(tenantQualifiedUsername); }
protected boolean isUserStoreInUsernameCaseSensitive(String username) { return IdentityUtil.isUserStoreInUsernameCaseSensitive(username); }
/** * Build the cache key string when storing token info in cache * * @param clientId * @param scope * @param authorizedUser * @return */ public static String buildCacheKeyStringForToken(String clientId, String scope, String authorizedUser) { boolean isUsernameCaseSensitive = IdentityUtil.isUserStoreInUsernameCaseSensitive(authorizedUser); if (isUsernameCaseSensitive) { return clientId + ":" + authorizedUser + ":" + scope; } else { return clientId + ":" + authorizedUser.toLowerCase() + ":" + scope; } }
public static void clearOAuthCache(String consumerKey, String authorizedUser) { boolean isUsernameCaseSensitive = IdentityUtil.isUserStoreInUsernameCaseSensitive(authorizedUser); if (!isUsernameCaseSensitive) { authorizedUser = authorizedUser.toLowerCase(); } clearOAuthCache(consumerKey + ":" + authorizedUser); }
public static void clearOAuthCache(String consumerKey, String authorizedUser, String scope) { boolean isUsernameCaseSensitive = IdentityUtil.isUserStoreInUsernameCaseSensitive(authorizedUser); if (!isUsernameCaseSensitive) { authorizedUser = authorizedUser.toLowerCase(); } clearOAuthCache(consumerKey + ":" + authorizedUser + ":" + scope); }
public static void clearOAuthCache(String consumerKey, String authorizedUser) { boolean isUsernameCaseSensitive = IdentityUtil.isUserStoreInUsernameCaseSensitive(authorizedUser); if (!isUsernameCaseSensitive) { authorizedUser = authorizedUser.toLowerCase(); } clearOAuthCache(consumerKey + ":" + authorizedUser); }
public static void clearOAuthCache(String consumerKey, String authorizedUser, String scope) { boolean isUsernameCaseSensitive = IdentityUtil.isUserStoreInUsernameCaseSensitive(authorizedUser); if (!isUsernameCaseSensitive) { authorizedUser = authorizedUser.toLowerCase(); } clearOAuthCache(consumerKey + ":" + authorizedUser + ":" + scope); }
private void updateUserDataValue(String userName, int tenantId, String key, String value) throws SQLException { Connection connection = IdentityDatabaseUtil.getDBConnection(); PreparedStatement prepStmt = null; boolean isUsernameCaseSensitive = IdentityUtil.isUserStoreInUsernameCaseSensitive(userName, tenantId); try { String query; if (isUsernameCaseSensitive) { query = SQLQuery.UPDATE_USER_DATA; } else { query = SQLQuery.UPDATE_USER_DATA_CASE_INSENSITIVE; } prepStmt = connection.prepareStatement(query); prepStmt.setString(1, value); prepStmt.setInt(2, tenantId); prepStmt.setString(3, userName); prepStmt.setString(4, key); prepStmt.executeUpdate(); connection.commit(); } finally { IdentityDatabaseUtil.closeStatement(prepStmt); IdentityDatabaseUtil.closeConnection(connection); } }
private void updateUserDataValue(String userName, int tenantId, String key, String value) throws SQLException { Connection connection = IdentityDatabaseUtil.getDBConnection(); PreparedStatement prepStmt = null; boolean isUsernameCaseSensitive = IdentityUtil.isUserStoreInUsernameCaseSensitive(userName, tenantId); try { String query; if (isUsernameCaseSensitive) { query = SQLQuery.UPDATE_USER_DATA; } else { query = SQLQuery.UPDATE_USER_DATA_CASE_INSENSITIVE; } prepStmt = connection.prepareStatement(query); prepStmt.setString(1, value); prepStmt.setInt(2, tenantId); prepStmt.setString(3, userName); prepStmt.setString(4, key); prepStmt.executeUpdate(); connection.commit(); } finally { IdentityDatabaseUtil.closeStatement(prepStmt); IdentityDatabaseUtil.closeConnection(connection); } }
private void updateUserDataValue(String userName, int tenantId, String key, String value) throws SQLException { Connection connection = IdentityDatabaseUtil.getDBConnection(); PreparedStatement prepStmt = null; boolean isUsernameCaseSensitive = IdentityUtil.isUserStoreInUsernameCaseSensitive(userName, tenantId); try { String query; if (isUsernameCaseSensitive) { query = SQLQuery.UPDATE_USER_DATA; } else { query = SQLQuery.UPDATE_USER_DATA_CASE_INSENSITIVE; } prepStmt = connection.prepareStatement(query); prepStmt.setString(1, value); prepStmt.setInt(2, tenantId); prepStmt.setString(3, userName); prepStmt.setString(4, key); prepStmt.executeUpdate(); connection.commit(); } finally { IdentityDatabaseUtil.closeStatement(prepStmt); IdentityDatabaseUtil.closeConnection(connection); } }
private void updateUserDataValue(String userName, int tenantId, String key, String value) throws SQLException { Connection connection = IdentityDatabaseUtil.getDBConnection(); PreparedStatement prepStmt = null; boolean isUsernameCaseSensitive = IdentityUtil.isUserStoreInUsernameCaseSensitive(userName, tenantId); try { String query; if (isUsernameCaseSensitive) { query = SQLQuery.UPDATE_USER_DATA; } else { query = SQLQuery.UPDATE_USER_DATA_CASE_INSENSITIVE; } prepStmt = connection.prepareStatement(query); prepStmt.setString(1, value); prepStmt.setInt(2, tenantId); prepStmt.setString(3, userName); prepStmt.setString(4, key); prepStmt.executeUpdate(); connection.commit(); } finally { IdentityDatabaseUtil.closeStatement(prepStmt); IdentityDatabaseUtil.closeConnection(connection); } }
private boolean isExistingUserDataValue(String userName, int tenantId, String key) throws SQLException { Connection connection = IdentityDatabaseUtil.getDBConnection(); PreparedStatement prepStmt = null; ResultSet results; boolean isUsernameCaseSensitive = IdentityUtil.isUserStoreInUsernameCaseSensitive(userName, tenantId); try { String query; if (isUsernameCaseSensitive) { query = SQLQuery.CHECK_EXIST_USER_DATA; } else { query = SQLQuery.CHECK_EXIST_USER_DATA_CASE_INSENSITIVE; } prepStmt = connection.prepareStatement(query); prepStmt.setInt(1, tenantId); prepStmt.setString(2, userName); prepStmt.setString(3, key); results = prepStmt.executeQuery(); if (results.next()) { return true; } connection.commit(); } finally { IdentityDatabaseUtil.closeStatement(prepStmt); IdentityDatabaseUtil.closeConnection(connection); } return false; }
private boolean isExistingUserDataValue(String userName, int tenantId, String key) throws SQLException { Connection connection = IdentityDatabaseUtil.getDBConnection(); PreparedStatement prepStmt = null; ResultSet results; boolean isUsernameCaseSensitive = IdentityUtil.isUserStoreInUsernameCaseSensitive(userName, tenantId); try { String query; if (isUsernameCaseSensitive) { query = SQLQuery.CHECK_EXIST_USER_DATA; } else { query = SQLQuery.CHECK_EXIST_USER_DATA_CASE_INSENSITIVE; } prepStmt = connection.prepareStatement(query); prepStmt.setInt(1, tenantId); prepStmt.setString(2, userName); prepStmt.setString(3, key); results = prepStmt.executeQuery(); if (results.next()) { return true; } connection.commit(); } finally { IdentityDatabaseUtil.closeStatement(prepStmt); IdentityDatabaseUtil.closeConnection(connection); } return false; }
private boolean isExistingUserDataValue(String userName, int tenantId, String key) throws SQLException { Connection connection = IdentityDatabaseUtil.getDBConnection(); PreparedStatement prepStmt = null; ResultSet results; boolean isUsernameCaseSensitive = IdentityUtil.isUserStoreInUsernameCaseSensitive(userName, tenantId); try { String query; if (isUsernameCaseSensitive) { query = SQLQuery.CHECK_EXIST_USER_DATA; } else { query = SQLQuery.CHECK_EXIST_USER_DATA_CASE_INSENSITIVE; } prepStmt = connection.prepareStatement(query); prepStmt.setInt(1, tenantId); prepStmt.setString(2, userName); prepStmt.setString(3, key); results = prepStmt.executeQuery(); if (results.next()) { return true; } connection.commit(); } finally { IdentityDatabaseUtil.closeStatement(prepStmt); IdentityDatabaseUtil.closeConnection(connection); } return false; }
/** * Check the case sensitivity of the user store in which the user is in. * * @param username Full qualified username * @return */ public static boolean isUserStoreInUsernameCaseSensitive(String username) { boolean isUsernameCaseSensitive = true; try { String tenantDomain = MultitenantUtils.getTenantDomain(username); int tenantId = IdentityTenantUtil.getRealmService().getTenantManager().getTenantId(tenantDomain); return isUserStoreInUsernameCaseSensitive(username, tenantId); } catch (UserStoreException e) { if (log.isDebugEnabled()) { log.debug("Error while reading user store property CaseInsensitiveUsername. Considering as case " + "sensitive."); } } return isUsernameCaseSensitive; }
/** * Check the case sensitivity of the user store in which the user is in. * * @param username Full qualified username * @return */ public static boolean isUserStoreInUsernameCaseSensitive(String username) { boolean isUsernameCaseSensitive = true; try { String tenantDomain = MultitenantUtils.getTenantDomain(username); int tenantId = IdentityTenantUtil.getRealmService().getTenantManager().getTenantId(tenantDomain); return isUserStoreInUsernameCaseSensitive(username, tenantId); } catch (UserStoreException e) { if (log.isDebugEnabled()) { log.debug("Error while reading user store property CaseInsensitiveUsername. Considering as case " + "sensitive."); } } return isUsernameCaseSensitive; }
/** * Check the case sensitivity of the user store in which the user is in. * * @param username Full qualified username * @return */ public static boolean isUserStoreInUsernameCaseSensitive(String username) { boolean isUsernameCaseSensitive = true; try { String tenantDomain = MultitenantUtils.getTenantDomain(username); int tenantId = IdentityTenantUtil.getRealmService().getTenantManager().getTenantId(tenantDomain); return isUserStoreInUsernameCaseSensitive(username, tenantId); } catch (UserStoreException e) { if (log.isDebugEnabled()) { log.debug("Error while reading user store property CaseInsensitiveUsername. Considering as case " + "sensitive."); } } return isUsernameCaseSensitive; }
@Override public void remove(String userName, UserStoreManager userStoreManager) throws IdentityException { super.remove(userName, userStoreManager); String domainName = ((org.wso2.carbon.user.core.UserStoreManager) userStoreManager). getRealmConfiguration().getUserStoreProperty(UserCoreConstants.RealmConfig.PROPERTY_DOMAIN_NAME); userName = UserCoreUtil.addDomainToName(userName, domainName); Connection connection = IdentityDatabaseUtil.getDBConnection(); PreparedStatement prepStmt = null; try { int tenantId = userStoreManager.getTenantId(); boolean isUsernameCaseSensitive = IdentityUtil.isUserStoreInUsernameCaseSensitive(userName, tenantId); String query; if (isUsernameCaseSensitive) { query = SQLQuery.DELETE_USER_DATA; } else { query = SQLQuery.DELETE_USER_DATA_CASE_INSENSITIVE; } prepStmt = connection.prepareStatement(query); prepStmt.setInt(1, tenantId); prepStmt.setString(2, userName); prepStmt.execute(); connection.commit(); } catch (SQLException | UserStoreException e) { throw IdentityException.error("Error while reading user identity data", e); } finally { IdentityDatabaseUtil.closeStatement(prepStmt); IdentityDatabaseUtil.closeConnection(connection); } }
private void clearCache(String clientId, String authorizedUser, String[] scopes, String accessToken) { boolean isUsernameCaseSensitive = IdentityUtil.isUserStoreInUsernameCaseSensitive(authorizedUser); String cacheKeyString; if (isUsernameCaseSensitive) { cacheKeyString = clientId + ":" + authorizedUser + ":" + OAuth2Util.buildScopeString(scopes); } else { cacheKeyString = clientId + ":" + authorizedUser.toLowerCase() + ":" + OAuth2Util.buildScopeString(scopes); } // Remove the old access token from the OAuthCache OAuthCacheKey oauthCacheKey = new OAuthCacheKey(cacheKeyString); oauthCache.clearCacheEntry(oauthCacheKey); // Remove the old access token from the AccessTokenCache OAuthCacheKey accessTokenCacheKey = new OAuthCacheKey(accessToken); oauthCache.clearCacheEntry(accessTokenCacheKey); } }
private void clearCache(String clientId, String authorizedUser, String[] scopes, String accessToken) { boolean isUsernameCaseSensitive = IdentityUtil.isUserStoreInUsernameCaseSensitive(authorizedUser); String cacheKeyString; if (isUsernameCaseSensitive) { cacheKeyString = clientId + ":" + authorizedUser + ":" + OAuth2Util.buildScopeString(scopes); } else { cacheKeyString = clientId + ":" + authorizedUser.toLowerCase() + ":" + OAuth2Util.buildScopeString(scopes); } // Remove the old access token from the OAuthCache OAuthCacheKey oauthCacheKey = new OAuthCacheKey(cacheKeyString); OAuthCache.getInstance().clearCacheEntry(oauthCacheKey); // Remove the old access token from the AccessTokenCache OAuthCacheKey accessTokenCacheKey = new OAuthCacheKey(accessToken); OAuthCache.getInstance().clearCacheEntry(accessTokenCacheKey); }