diff --git a/lib/core/services/authentication.service.spec.ts b/lib/core/services/authentication.service.spec.ts index f400314d9e..1bcb2c14f8 100644 --- a/lib/core/services/authentication.service.spec.ts +++ b/lib/core/services/authentication.service.spec.ts @@ -65,6 +65,7 @@ describe('AuthenticationService', () => { beforeEach(() => { appConfigService.config.providers = 'ECM'; + appConfigService.config.auth = { withCredentials: false }; appConfigService.load(); apiService.reset(); }); @@ -186,12 +187,20 @@ describe('AuthenticationService', () => { it('[ECM] should return isBpmLoggedIn false', () => { expect(authService.isBpmLoggedIn()).toBe(false); }); + + it('[ECM] should return true if kerberos configured', () => { + appConfigService.config.auth.withCredentials = true ; + + expect(authService.isLoggedInWith('ECM')).toBe(true); + expect(authService.isLoggedIn()).toBe(true); + }); }); describe('when the setting is BPM', () => { beforeEach(() => { appConfigService.config.providers = 'BPM'; + appConfigService.config.auth = { withCredentials: false }; appConfigService.load(); apiService.reset(); }); @@ -321,6 +330,7 @@ describe('AuthenticationService', () => { beforeEach(() => { appConfigService.config.providers = 'ECM'; + appConfigService.config.auth = { withCredentials: false }; appConfigService.load(); apiService.reset(); }); @@ -385,6 +395,7 @@ describe('AuthenticationService', () => { beforeEach(() => { appConfigService.config.providers = 'ALL'; + appConfigService.config.auth = { withCredentials: false }; appConfigService.load(); apiService.reset(); }); diff --git a/lib/core/services/authentication.service.ts b/lib/core/services/authentication.service.ts index c6a1f5a3b6..da9fe9c929 100644 --- a/lib/core/services/authentication.service.ts +++ b/lib/core/services/authentication.service.ts @@ -64,6 +64,10 @@ export class AuthenticationService { * @returns True if logged in, false otherwise */ isLoggedIn(): boolean { + if (this.isKerberosConfigured()) { + return true; + } + if (!this.isOauth() && this.cookie.isEnabled() && !this.isRememberMeSet()) { return false; } @@ -224,6 +228,10 @@ export class AuthenticationService { * @returns True if logged in, false otherwise */ isEcmLoggedIn(): boolean { + if (this.isKerberosConfigured()) { + return true; + } + if (this.isECMProvider() || this.isALLProvider()) { if (!this.isOauth() && this.cookie.isEnabled() && !this.isRememberMeSet()) { return false; @@ -247,6 +255,10 @@ export class AuthenticationService { return false; } + isKerberosConfigured(): boolean { + return this.appConfig.get(AppConfigValues.AUTH_WITH_CREDENTIALS, false); + } + /** * Gets the ECM username. * @returns The ECM username