Skip to content
Merged
Show file tree
Hide file tree
Changes from all 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/mock-api-url');
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