if ( updateRequest.getAddConfigs().get(TokenConfigEnum.CLAIMS.getValue().toLowerCase()) != null && IAPConstants.SQUAREBRACKETS.equals(updateRequest.getRemoveConfigs().toString()) || Objects.nonNull(updateRequest.getRemoveConfigs()) && !updateRequest.getRemoveConfigs().isEmpty() && !updateRequest.getRemoveConfigs().contains(TokenConfigEnum.CLAIMS.getValue().toLowerCase()) ) { identityTokenVO.getTokenConfigs() .stream() .forEach(config -> { if (TokenConfigEnum.CLAIMS.getValue().toLowerCase().equals(config.getKey().toLowerCase()) && config.getValue() != null ) { updateRequest.getAddConfigs().get(TokenConfigEnum.CLAIMS.getValue().toLowerCase()).addAll(config.getValue()); } }); } if ( updateRequest.getAddConfigs().get(TokenConfigEnum.CLAIMS.getValue().toUpperCase()) != null && IAPConstants.SQUAREBRACKETS.equals(updateRequest.getRemoveConfigs().toString()) || Objects.nonNull(updateRequest.getRemoveConfigs()) && !updateRequest.getRemoveConfigs().isEmpty() && !updateRequest.getRemoveConfigs().contains(TokenConfigEnum.CLAIMS.getValue().toLowerCase())){ identityTokenVO.getTokenConfigs() .stream() .forEach(config -> { if (TokenConfigEnum.CLAIMS.getValue().toUpperCase().equals(config.getKey().toUpperCase()) && config.getValue() != null ) { updateRequest.getAddConfigs().get(TokenConfigEnum.CLAIMS.getValue().toUpperCase()).addAll(config.getValue()); } }); } if ( updateRequest.getAddConfigs().get(TokenConfigEnum.DEVICE_AUTHENTICATION_KEYS.getValue().toLowerCase()) != null && IAPConstants.SQUAREBRACKETS.equals(updateRequest.getRemoveConfigs().toString()) || Objects.nonNull(updateRequest.getRemoveConfigs()) && !updateRequest.getRemoveConfigs().isEmpty() && !updateRequest.getRemoveConfigs().contains(TokenConfigEnum.DEVICE_AUTHENTICATION_KEYS.getValue().toLowerCase())) { identityTokenVO.getTokenConfigs() .stream() .forEach(config -> { if (TokenConfigEnum.DEVICE_AUTHENTICATION_KEYS.getValue().toLowerCase().equals(config.getKey().toLowerCase()) && config.getValue() != null ) { updateRequest.getAddConfigs().get(TokenConfigEnum.DEVICE_AUTHENTICATION_KEYS.getValue().toLowerCase()).addAll(config.getValue()); } }); } if ( updateRequest.getAddConfigs().get(TokenConfigEnum.DEVICE_AUTHENTICATION_KEYS.getValue().toUpperCase()) != null && IAPConstants.SQUAREBRACKETS.equals(updateRequest.getRemoveConfigs().toString()) || Objects.nonNull(updateRequest.getRemoveConfigs()) && !updateRequest.getRemoveConfigs().isEmpty() && !updateRequest.getRemoveConfigs().contains(TokenConfigEnum.DEVICE_AUTHENTICATION_KEYS.getValue().toUpperCase())) { identityTokenVO.getTokenConfigs() .stream() .forEach(config -> { if (TokenConfigEnum.DEVICE_AUTHENTICATION_KEYS.getValue().toUpperCase().equals(config.getKey().toUpperCase()) && config.getValue() != null ) { updateRequest.getAddConfigs().get(TokenConfigEnum.DEVICE_AUTHENTICATION_KEYS.getValue().toUpperCase()).addAll(config.getValue()); } }); }
private String toUpOrLowerCase( String str, String caseFlag ){ if (IAPConstants.UPPERCASE.equals(caseFlag)) { return str.toUpperCase(); } else if (IAPConstants.LOWERCASE.equals(caseFlag)) { return str.toLowerCase(); } else { return str; } } private void setTokenUpdateRequest(IdentityTokenVO identityTokenVO,TokenUpdateRequest updateRequest,String key , String caseFlag){ identityTokenVO.getTokenConfigs() .stream() .forEach(config -> { if (key.equals(toUpOrLowerCase(config.getKey(),caseFlag)) && config.getValue() != null ) { updateRequest.getAddConfigs().get(key).addAll(config.getValue()); } }); } private boolean checkRemoveKey(TokenUpdateRequest updateRequest,String key,String caseFlag ){ if (updateRequest.getRemoveConfigs() != null && IAPConstants.SQUAREBRACKETS.equals(updateRequest.getRemoveConfigs().toString()) || Objects.nonNull(updateRequest.getRemoveConfigs()) && !updateRequest.getRemoveConfigs().isEmpty() && !updateRequest.getRemoveConfigs().contains(toUpOrLowerCase(key,caseFlag))){ return true; } else { return false; } } private void setTokenClaimAndDeviceAuthenticationKey(IdentityTokenVO identityTokenVO,TokenUpdateRequest updateRequest){ String claims = TokenConfigEnum.CLAIMS.getValue(); String deviceAuthKey = TokenConfigEnum.DEVICE_AUTHENTICATION_KEYS.getValue(); if ( updateRequest.getAddConfigs().get(claims.toLowerCase()) != null && checkRemoveKey(updateRequest,claims,IAPConstants.LOWERCASE) ) { setTokenUpdateRequest(identityTokenVO,updateRequest,claims.toLowerCase(),IAPConstants.LOWERCASE); } if ( updateRequest.getAddConfigs().get(claims.toUpperCase()) != null && checkRemoveKey(updateRequest,claims,IAPConstants.UPPERCASE) ){ setTokenUpdateRequest(identityTokenVO,updateRequest,claims.toUpperCase(),IAPConstants.UPPERCASE); } if ( updateRequest.getAddConfigs().get(deviceAuthKey.toLowerCase()) != null && checkRemoveKey(updateRequest,deviceAuthKey,IAPConstants.LOWERCASE) ) { setTokenUpdateRequest(identityTokenVO,updateRequest,deviceAuthKey.toLowerCase(),IAPConstants.LOWERCASE); } if ( updateRequest.getAddConfigs().get(deviceAuthKey.toUpperCase()) != null && checkRemoveKey(updateRequest,deviceAuthKey,IAPConstants.UPPERCASE) ){ setTokenUpdateRequest(identityTokenVO,updateRequest,deviceAuthKey.toUpperCase(),IAPConstants.UPPERCASE); } }