[ADF-2200] fixed problem with redirection url (#2877)

* [ADF-2200] fixed wrong handling of redirectUrl

* [ADF-2200] fixed problem with redirection url

* [ADF-2200] fixed redirection config path

* [ADF-2200] fixed wrong fdescribe test

* [ADF-2200] removed authserviceMock and fixed some tests
This commit is contained in:
Vito
2018-01-25 12:48:47 +01:00
committed by Eugenio Romano
parent 9f88c02ef3
commit 77f6c51dc2
14 changed files with 255 additions and 100 deletions

View File

@@ -16,16 +16,18 @@
*/
import { Injectable } from '@angular/core';
import { ActivatedRouteSnapshot, CanActivate, Router, RouterStateSnapshot } from '@angular/router';
import { ActivatedRouteSnapshot, CanActivate, RouterStateSnapshot, Router } from '@angular/router';
import { AlfrescoApiService } from './alfresco-api.service';
import { AuthenticationService } from './authentication.service';
import { AppConfigService } from '../app-config/app-config.service';
@Injectable()
export class AuthGuardEcm implements CanActivate {
constructor(
private authService: AuthenticationService,
private apiService: AlfrescoApiService,
private router: Router) {
private router: Router,
private appConfig: AppConfigService) {
}
private get authApi() {
@@ -51,11 +53,18 @@ export class AuthGuardEcm implements CanActivate {
return this.isLoggedIn().then(isLoggedIn => {
if (!isLoggedIn) {
this.authService.setRedirectUrl(state.url);
this.router.navigate([ '/login' ]);
this.authService.setRedirectUrl({ provider: 'ECM', url: state.url });
const pathToLogin = this.getRouteDestinationForLogin();
this.router.navigate(['/' + pathToLogin]);
}
return isLoggedIn;
});
}
private getRouteDestinationForLogin(): string {
return this.appConfig &&
this.appConfig.get<string>('loginRoute') ?
this.appConfig.get<string>('loginRoute') : 'login';
}
}