diff --git a/ui-ngx/src/app/modules/home/pages/admin/oauth2-settings.component.html b/ui-ngx/src/app/modules/home/pages/admin/oauth2-settings.component.html
index ee1c5b725c..e9d3030019 100644
--- a/ui-ngx/src/app/modules/home/pages/admin/oauth2-settings.component.html
+++ b/ui-ngx/src/app/modules/home/pages/admin/oauth2-settings.component.html
@@ -316,6 +316,10 @@
{{ 'admin.oauth2.scope-required' | translate }}
+
+
diff --git a/ui-ngx/src/app/modules/home/pages/admin/oauth2-settings.component.ts b/ui-ngx/src/app/modules/home/pages/admin/oauth2-settings.component.ts
index 75a25a5eff..400b2d3fc2 100644
--- a/ui-ngx/src/app/modules/home/pages/admin/oauth2-settings.component.ts
+++ b/ui-ngx/src/app/modules/home/pages/admin/oauth2-settings.component.ts
@@ -15,7 +15,7 @@
///
import { Component, Inject, OnDestroy, OnInit } from '@angular/core';
-import { AbstractControl, FormArray, FormBuilder, FormGroup, Validators } from '@angular/forms';
+import { AbstractControl, FormArray, FormBuilder, FormGroup, ValidationErrors, Validators } from '@angular/forms';
import {
ClientAuthenticationMethod,
ClientRegistration,
@@ -266,7 +266,7 @@ export class OAuth2SettingsComponent extends PageComponent implements OnInit, Ha
authorizationUri: [clientRegistration?.authorizationUri ? clientRegistration.authorizationUri : '',
[Validators.required,
Validators.pattern(this.URL_REGEXP)]],
- scope: this.fb.array(clientRegistration?.scope ? clientRegistration.scope : [], Validators.required),
+ scope: this.fb.array(clientRegistration?.scope ? clientRegistration.scope : [], this.validateScope),
jwkSetUri: [clientRegistration?.jwkSetUri ? clientRegistration.jwkSetUri : '', Validators.pattern(this.URL_REGEXP)],
userInfoUri: [clientRegistration?.userInfoUri ? clientRegistration.userInfoUri : '',
[Validators.required,
@@ -307,6 +307,16 @@ export class OAuth2SettingsComponent extends PageComponent implements OnInit, Ha
return clientRegistrationFormGroup;
}
+ private validateScope (control: AbstractControl): ValidationErrors | null {
+ const scope: string[] = control.value;
+ if (!scope || !scope.length) {
+ return {
+ required: true
+ };
+ }
+ return null;
+ }
+
private setProviderDefaultValue(provider: string, clientRegistration: FormGroup) {
if (provider === 'Custom') {
clientRegistration.reset(this.defaultProvider, {emitEvent: false});