From 2c2fe0e405f27e939dc208586914f28585c00b8f Mon Sep 17 00:00:00 2001 From: DominikIwanek Date: Wed, 1 Oct 2025 12:16:08 +0200 Subject: [PATCH 1/4] [MNT-25336] ADW can't start a Microsoft 365 session when using Basic Auth --- .../basic-auth/basic-alfresco-auth.service.spec.ts | 6 ++++++ .../auth/basic-auth/basic-alfresco-auth.service.ts | 11 +++++------ 2 files changed, 11 insertions(+), 6 deletions(-) diff --git a/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.spec.ts b/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.spec.ts index edd1606641..c8972d0f83 100644 --- a/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.spec.ts +++ b/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.spec.ts @@ -70,6 +70,12 @@ describe('BasicAlfrescoAuthService', () => { expect(ticket).toEqual('Basic Mock Process Auth ticket'); }); + it('should return content services ticket when requestUrl does not contain ECM or BPM context root', () => { + const ticket = basicAlfrescoAuthService.getTicketEcmBase64('http://www.example.com/ooi-services'); + const base64Segment = ticket.split('Basic ')[1]; + expect(atob(base64Segment)).toEqual('Mock Content Auth ticket'); + }); + describe('login', () => { let contentAuthSpy: jasmine.Spy; let processAuthSpy: jasmine.Spy; diff --git a/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.ts b/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.ts index 5614b5b0ca..d0f54576af 100644 --- a/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.ts +++ b/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.ts @@ -351,19 +351,18 @@ export class BasicAlfrescoAuthService extends BaseAuthenticationService { * @returns The ticket or `null` if none was found */ getTicketEcmBase64(requestUrl: string): string | null { - let ticket = null; - const bpmRoot = `/${this.appConfig.get(AppConfigValues.CONTEXTROOTBPM) || 'activiti-app'}/`; const ecmRoot = `/${this.appConfig.get(AppConfigValues.CONTEXTROOTECM) || 'alfresco'}/`; if (requestUrl?.includes(ecmRoot) && !requestUrl.includes(bpmRoot)) { - ticket = this.getContentServicesTicket(); + return this.getContentServicesTicket(); } else if (requestUrl?.includes(bpmRoot) && !requestUrl.includes(ecmRoot)) { - ticket = this.getProcessServicesTicket(); + return this.getProcessServicesTicket(); } else if (requestUrl?.includes(ecmRoot) && requestUrl.includes(bpmRoot)) { - ticket = requestUrl.indexOf(ecmRoot) < requestUrl.indexOf(bpmRoot) ? this.getContentServicesTicket() : this.getProcessServicesTicket(); + return requestUrl.indexOf(ecmRoot) < requestUrl.indexOf(bpmRoot) ? this.getContentServicesTicket() : this.getProcessServicesTicket(); + } else { + return this.getContentServicesTicket(); } - return ticket; } private getProcessServicesTicket(): string { From 1f58410cbb835070f278dc36866d175eaf8a132c Mon Sep 17 00:00:00 2001 From: DominikIwanek Date: Wed, 1 Oct 2025 12:59:13 +0200 Subject: [PATCH 2/4] [MNT-25336] ADW can't start a Microsoft 365 session when using Basic Auth --- .../src/lib/app-config/app-config.service.ts | 1 + .../src/lib/app-config/app.config.schema.json | 4 ++++ .../basic-alfresco-auth.service.spec.ts | 4 ++-- .../basic-auth/basic-alfresco-auth.service.ts | 16 ++++++++++------ 4 files changed, 17 insertions(+), 8 deletions(-) diff --git a/lib/core/src/lib/app-config/app-config.service.ts b/lib/core/src/lib/app-config/app-config.service.ts index c42b87d114..d899016fa5 100644 --- a/lib/core/src/lib/app-config/app-config.service.ts +++ b/lib/core/src/lib/app-config/app-config.service.ts @@ -33,6 +33,7 @@ export enum AppConfigValues { OAUTHCONFIG = 'oauth2', ECMHOST = 'ecmHost', BASESHAREURL = 'baseShareUrl', + OOI_CONNECTOR_URL = 'ooiServiceUrl', BPMHOST = 'bpmHost', IDENTITY_HOST = 'identityHost', AUTHTYPE = 'authType', diff --git a/lib/core/src/lib/app-config/app.config.schema.json b/lib/core/src/lib/app-config/app.config.schema.json index a1e27b5185..7491920565 100644 --- a/lib/core/src/lib/app-config/app.config.schema.json +++ b/lib/core/src/lib/app-config/app.config.schema.json @@ -1489,6 +1489,10 @@ "description": "Custom url for shared links", "type": "string" }, + "ooiServiceUrl": { + "description": "Custom url for ooi-service links", + "type": "string" + }, "locale": { "description": "Default application locale", "type": "string" diff --git a/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.spec.ts b/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.spec.ts index c8972d0f83..1df35c1f59 100644 --- a/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.spec.ts +++ b/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.spec.ts @@ -70,8 +70,8 @@ describe('BasicAlfrescoAuthService', () => { expect(ticket).toEqual('Basic Mock Process Auth ticket'); }); - it('should return content services ticket when requestUrl does not contain ECM or BPM context root', () => { - const ticket = basicAlfrescoAuthService.getTicketEcmBase64('http://www.example.com/ooi-services'); + it('should return content services ticket when requestUrl contains OOI_SERVICE_URL context root', () => { + const ticket = basicAlfrescoAuthService.getTicketEcmBase64('http://www.example.com/ooi-service'); const base64Segment = ticket.split('Basic ')[1]; expect(atob(base64Segment)).toEqual('Mock Content Auth ticket'); }); diff --git a/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.ts b/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.ts index d0f54576af..e028ffe05c 100644 --- a/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.ts +++ b/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.ts @@ -350,19 +350,23 @@ export class BasicAlfrescoAuthService extends BaseAuthenticationService { * @param requestUrl the request url * @returns The ticket or `null` if none was found */ - getTicketEcmBase64(requestUrl: string): string | null { + getTicketEcmBase64(requestUrl: string): string { + let ticket = null; const bpmRoot = `/${this.appConfig.get(AppConfigValues.CONTEXTROOTBPM) || 'activiti-app'}/`; const ecmRoot = `/${this.appConfig.get(AppConfigValues.CONTEXTROOTECM) || 'alfresco'}/`; + const ooiServiceRootUrl = `/${this.appConfig.get(AppConfigValues.OOI_CONNECTOR_URL) || 'ooi-service'}/`; if (requestUrl?.includes(ecmRoot) && !requestUrl.includes(bpmRoot)) { - return this.getContentServicesTicket(); + ticket = this.getContentServicesTicket(); } else if (requestUrl?.includes(bpmRoot) && !requestUrl.includes(ecmRoot)) { - return this.getProcessServicesTicket(); + ticket = this.getProcessServicesTicket(); } else if (requestUrl?.includes(ecmRoot) && requestUrl.includes(bpmRoot)) { - return requestUrl.indexOf(ecmRoot) < requestUrl.indexOf(bpmRoot) ? this.getContentServicesTicket() : this.getProcessServicesTicket(); - } else { - return this.getContentServicesTicket(); + ticket = requestUrl.indexOf(ecmRoot) < requestUrl.indexOf(bpmRoot) ? this.getContentServicesTicket() : this.getProcessServicesTicket(); + } else if (requestUrl.includes(ooiServiceRootUrl)) { + ticket = this.getContentServicesTicket(); } + + return ticket; } private getProcessServicesTicket(): string { From 9319b2033e195627a26fb6a556c398ab18d51c7e Mon Sep 17 00:00:00 2001 From: DominikIwanek Date: Wed, 1 Oct 2025 13:29:35 +0200 Subject: [PATCH 3/4] [MNT-25336] ADW can't start a Microsoft 365 session when using Basic Auth --- .../src/lib/auth/basic-auth/basic-alfresco-auth.service.spec.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.spec.ts b/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.spec.ts index 1df35c1f59..f3097796cb 100644 --- a/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.spec.ts +++ b/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.spec.ts @@ -46,6 +46,7 @@ describe('BasicAlfrescoAuthService', () => { appConfigSpy = spyOn(appConfig, 'get'); appConfigSpy.withArgs(AppConfigValues.CONTEXTROOTBPM).and.returnValue('activiti-app'); appConfigSpy.withArgs(AppConfigValues.CONTEXTROOTECM).and.returnValue('alfresco'); + appConfigSpy.withArgs(AppConfigValues.OOI_CONNECTOR_URL).and.returnValue('ooi-service'); }); it('should return content services ticket when requestUrl contains ECM context root', () => { From a437b613f86ee8359b638e17714291d138b16e48 Mon Sep 17 00:00:00 2001 From: DominikIwanek Date: Wed, 1 Oct 2025 13:42:32 +0200 Subject: [PATCH 4/4] [MNT-25336] ADW can't start a Microsoft 365 session when using Basic Auth --- .../src/lib/auth/basic-auth/basic-alfresco-auth.service.spec.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.spec.ts b/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.spec.ts index f3097796cb..4f5c321978 100644 --- a/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.spec.ts +++ b/lib/core/src/lib/auth/basic-auth/basic-alfresco-auth.service.spec.ts @@ -72,7 +72,7 @@ describe('BasicAlfrescoAuthService', () => { }); it('should return content services ticket when requestUrl contains OOI_SERVICE_URL context root', () => { - const ticket = basicAlfrescoAuthService.getTicketEcmBase64('http://www.example.com/ooi-service'); + const ticket = basicAlfrescoAuthService.getTicketEcmBase64('http://www.example.com/ooi-service/mock-api-url'); const base64Segment = ticket.split('Basic ')[1]; expect(atob(base64Segment)).toEqual('Mock Content Auth ticket'); });