Skip to content
Merged
Show file tree
Hide file tree
Changes from 3 commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
1 change: 1 addition & 0 deletions lib/core/src/lib/app-config/app-config.service.ts
Original file line number Diff line number Diff line change
Expand Up @@ -33,6 +33,7 @@ export enum AppConfigValues {
OAUTHCONFIG = 'oauth2',
ECMHOST = 'ecmHost',
BASESHAREURL = 'baseShareUrl',
OOI_CONNECTOR_URL = 'ooiServiceUrl',
BPMHOST = 'bpmHost',
IDENTITY_HOST = 'identityHost',
AUTHTYPE = 'authType',
Expand Down
4 changes: 4 additions & 0 deletions lib/core/src/lib/app-config/app.config.schema.json
Original file line number Diff line number Diff line change
Expand Up @@ -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"
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -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', () => {
Expand All @@ -70,6 +71,12 @@ describe('BasicAlfrescoAuthService', () => {
expect(ticket).toEqual('Basic Mock Process Auth ticket');
});

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');
});

describe('login', () => {
let contentAuthSpy: jasmine.Spy;
let processAuthSpy: jasmine.Spy;
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -350,19 +350,22 @@ 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<string>(AppConfigValues.CONTEXTROOTBPM) || 'activiti-app'}/`;
const ecmRoot = `/${this.appConfig.get<string>(AppConfigValues.CONTEXTROOTECM) || 'alfresco'}/`;
const ooiServiceRootUrl = `/${this.appConfig.get<string>(AppConfigValues.OOI_CONNECTOR_URL) || 'ooi-service'}/`;

if (requestUrl?.includes(ecmRoot) && !requestUrl.includes(bpmRoot)) {
ticket = this.getContentServicesTicket();
} else if (requestUrl?.includes(bpmRoot) && !requestUrl.includes(ecmRoot)) {
ticket = this.getProcessServicesTicket();
} else if (requestUrl?.includes(ecmRoot) && requestUrl.includes(bpmRoot)) {
ticket = requestUrl.indexOf(ecmRoot) < requestUrl.indexOf(bpmRoot) ? this.getContentServicesTicket() : this.getProcessServicesTicket();
} else if (requestUrl.includes(ooiServiceRootUrl)) {
ticket = this.getContentServicesTicket();
}

return ticket;
}

Expand Down
Loading