|
|
|
@ -258,6 +258,7 @@ public class OAuth2ServiceImpl implements OAuth2Service { |
|
|
|
|
|
|
|
private void validate(OAuth2ClientsParams oAuth2ClientsParams) { |
|
|
|
validateDomainNames(oAuth2ClientsParams); |
|
|
|
validateAdminSettingsIds(oAuth2ClientsParams); |
|
|
|
|
|
|
|
toClientRegistrationStream(oAuth2ClientsParams) |
|
|
|
.forEach(validator); |
|
|
|
@ -281,6 +282,19 @@ public class OAuth2ServiceImpl implements OAuth2Service { |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
private void validateAdminSettingsIds(OAuth2ClientsParams oAuth2ClientsParams) { |
|
|
|
List<String> adminSettingsIds = oAuth2ClientsParams.getClientsDomainsParams().stream() |
|
|
|
.map(OAuth2ClientsDomainParams::getAdminSettingsId) |
|
|
|
.filter(Objects::nonNull) |
|
|
|
.collect(Collectors.toList()); |
|
|
|
|
|
|
|
boolean duplicateAdminSettingsIds = adminSettingsIds.stream() |
|
|
|
.anyMatch(adminSettingsId -> Collections.frequency(adminSettingsIds, adminSettingsId) > 1); |
|
|
|
if (duplicateAdminSettingsIds) { |
|
|
|
throw new DataValidationException("All admin settings ids should be unique!"); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
@Override |
|
|
|
public OAuth2ClientsParams getSystemOAuth2ClientsParams() { |
|
|
|
AdminSettings oauth2ClientsParamsSettings = adminSettingsService.findAdminSettingsByKey(TenantId.SYS_TENANT_ID, OAUTH2_CLIENT_REGISTRATIONS_PARAMS); |
|
|
|
|