mirror of
https://github.com/Alfresco/alfresco-ng2-components.git
synced 2025-07-24 17:32:15 +00:00
[AAE-16491] Fix session invalidation for Http 401 response (#8909)
This commit is contained in:
@@ -15,6 +15,12 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
|
import { AlfrescoApiConfig, AlfrescoApi } from '@alfresco/js-api';
|
||||||
|
|
||||||
export interface AlfrescoApiInterface {
|
export interface AlfrescoApiInterface {
|
||||||
load(): Promise<void> ;
|
load(): Promise<void> ;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export interface AlfrescoApiFactory {
|
||||||
|
createAlfrescoApi(config: AlfrescoApiConfig): AlfrescoApi;
|
||||||
|
}
|
||||||
|
@@ -15,13 +15,16 @@
|
|||||||
* limitations under the License.
|
* limitations under the License.
|
||||||
*/
|
*/
|
||||||
|
|
||||||
import { Injectable } from '@angular/core';
|
import { Inject, Injectable, InjectionToken, Optional } from '@angular/core';
|
||||||
import { AlfrescoApi, AlfrescoApiConfig } from '@alfresco/js-api';
|
import { AlfrescoApi, AlfrescoApiConfig } from '@alfresco/js-api';
|
||||||
import { AppConfigService, AppConfigValues } from '../app-config/app-config.service';
|
import { AppConfigService, AppConfigValues } from '../app-config/app-config.service';
|
||||||
import { ReplaySubject } from 'rxjs';
|
import { ReplaySubject } from 'rxjs';
|
||||||
import { OauthConfigModel } from '../auth/models/oauth-config.model';
|
import { OauthConfigModel } from '../auth/models/oauth-config.model';
|
||||||
import { StorageService } from '../common/services/storage.service';
|
import { StorageService } from '../common/services/storage.service';
|
||||||
import { OpenidConfiguration } from '../auth/interfaces/openid-configuration.interface';
|
import { OpenidConfiguration } from '../auth/interfaces/openid-configuration.interface';
|
||||||
|
import { AlfrescoApiFactory } from './alfresco-api.interface';
|
||||||
|
|
||||||
|
export const ALFRESCO_API_FACTORY = new InjectionToken('ALFRESCO_API_FACTORY');
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root'
|
providedIn: 'root'
|
||||||
@@ -43,7 +46,12 @@ export class AlfrescoApiService {
|
|||||||
return this.alfrescoApi;
|
return this.alfrescoApi;
|
||||||
}
|
}
|
||||||
|
|
||||||
constructor(protected appConfig: AppConfigService, protected storageService: StorageService) {}
|
constructor(
|
||||||
|
protected appConfig: AppConfigService,
|
||||||
|
protected storageService: StorageService,
|
||||||
|
@Optional()
|
||||||
|
@Inject(ALFRESCO_API_FACTORY) private alfrescoApiFactory?: AlfrescoApiFactory
|
||||||
|
) {}
|
||||||
|
|
||||||
async load(config: AlfrescoApiConfig): Promise<void> {
|
async load(config: AlfrescoApiConfig): Promise<void> {
|
||||||
this.currentAppConfig = config;
|
this.currentAppConfig = config;
|
||||||
@@ -114,6 +122,9 @@ export class AlfrescoApiService {
|
|||||||
}
|
}
|
||||||
|
|
||||||
createInstance(config: AlfrescoApiConfig): AlfrescoApi {
|
createInstance(config: AlfrescoApiConfig): AlfrescoApi {
|
||||||
|
if (this.alfrescoApiFactory) {
|
||||||
|
return this.alfrescoApiFactory.createAlfrescoApi(config);
|
||||||
|
}
|
||||||
return new AlfrescoApi(config);
|
return new AlfrescoApi(config);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@@ -16,3 +16,4 @@
|
|||||||
*/
|
*/
|
||||||
|
|
||||||
export * from './alfresco-api.service';
|
export * from './alfresco-api.service';
|
||||||
|
export { AlfrescoApiFactory } from './alfresco-api.interface';
|
||||||
|
Reference in New Issue
Block a user