[Library]: Add check if isClient to getUserInfo
git-svn-id: https://svn.driver.research-infrastructures.eu/driver/dnet40/modules/uoa-services-library/trunk/ng-openaire-library/src/app@57545 d315682c-612b-4755-9ff5-7f18f6832af3
This commit is contained in:
parent
90f748f8e6
commit
4316c70b9a
|
@ -58,8 +58,10 @@ export class ClaimsAdminComponent {
|
||||||
|
|
||||||
}
|
}
|
||||||
ngOnInit() {
|
ngOnInit() {
|
||||||
this.userManagementService.getUserInfo(this.userInfoURL).subscribe(user => {
|
if (typeof document !== 'undefined') {
|
||||||
this.user = user;
|
this.userManagementService.getUserInfo(this.userInfoURL).subscribe(user => {
|
||||||
});
|
this.user = user;
|
||||||
|
});
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
|
@ -28,7 +28,7 @@ export class ConnectAdminLoginGuard implements CanActivate, CanLoad {
|
||||||
let errorCode = LoginErrorCodes.NOT_LOGIN;
|
let errorCode = LoginErrorCodes.NOT_LOGIN;
|
||||||
let email = null;
|
let email = null;
|
||||||
const authorized = this.propertiesService.subscribeEnvironment().pipe(map(res => res), mergeMap(properties => {
|
const authorized = this.propertiesService.subscribeEnvironment().pipe(map(res => res), mergeMap(properties => {
|
||||||
return this.userManagementService.getUserInfo(properties.userInfoUrl).pipe(map(user => {
|
return typeof document !== 'undefined' && this.userManagementService.getUserInfo(properties.userInfoUrl).pipe(map(user => {
|
||||||
if (user) {
|
if (user) {
|
||||||
email = user.email;
|
email = user.email;
|
||||||
if (Session.isPortalAdministrator(user) || Session.isCommunityCurator(user)) {
|
if (Session.isPortalAdministrator(user) || Session.isCommunityCurator(user)) {
|
||||||
|
|
|
@ -21,7 +21,7 @@ export class ConnectSubscriberGuard implements CanActivate {
|
||||||
let errorCode = LoginErrorCodes.NOT_LOGIN;
|
let errorCode = LoginErrorCodes.NOT_LOGIN;
|
||||||
let email = null;
|
let email = null;
|
||||||
const subscribed = this.propertiesService.subscribeEnvironment().pipe(map(res => res), mergeMap(properties => {
|
const subscribed = this.propertiesService.subscribeEnvironment().pipe(map(res => res), mergeMap(properties => {
|
||||||
return this.userManagementService.getUserInfo(properties.userInfoUrl).pipe(map(user => {
|
return typeof document !== 'undefined' && this.userManagementService.getUserInfo(properties.userInfoUrl).pipe(map(user => {
|
||||||
if (user) {
|
if (user) {
|
||||||
errorCode = LoginErrorCodes.NOT_SUBSCRIBER;
|
errorCode = LoginErrorCodes.NOT_SUBSCRIBER;
|
||||||
email = user.email;
|
email = user.email;
|
||||||
|
|
|
@ -19,7 +19,7 @@ export class IsCommunityOrAdmin implements CanActivate {
|
||||||
return true;
|
return true;
|
||||||
} else {
|
} else {
|
||||||
const obs = this.propertiesService.subscribeEnvironment().pipe(mergeMap(properties => {
|
const obs = this.propertiesService.subscribeEnvironment().pipe(mergeMap(properties => {
|
||||||
return this.userManagementService.getUserInfo(properties['userInfoUrl']).pipe(map(user => {
|
return typeof document !== 'undefined' && this.userManagementService.getUserInfo(properties['userInfoUrl']).pipe(map(user => {
|
||||||
return Session.isPortalAdministrator(user);
|
return Session.isPortalAdministrator(user);
|
||||||
}));
|
}));
|
||||||
}));
|
}));
|
||||||
|
|
|
@ -26,7 +26,7 @@ export class AdminLoginGuard implements CanActivate{
|
||||||
check(path: string): Observable<boolean> {
|
check(path: string): Observable<boolean> {
|
||||||
let errorCode = LoginErrorCodes.NOT_LOGIN;
|
let errorCode = LoginErrorCodes.NOT_LOGIN;
|
||||||
const obs = this.propertiesService.subscribeEnvironment().pipe(mergeMap(properties => {
|
const obs = this.propertiesService.subscribeEnvironment().pipe(mergeMap(properties => {
|
||||||
return this.userManagementService.getUserInfo(properties['userInfoUrl']).pipe(map( user => {
|
return typeof document !== 'undefined' && this.userManagementService.getUserInfo(properties['userInfoUrl']).pipe(map( user => {
|
||||||
if(user) {
|
if(user) {
|
||||||
errorCode = LoginErrorCodes.NOT_ADMIN;
|
errorCode = LoginErrorCodes.NOT_ADMIN;
|
||||||
}
|
}
|
||||||
|
|
|
@ -26,7 +26,7 @@ export class ClaimsCuratorGuard implements CanActivate {
|
||||||
check(path: string): Observable<boolean> |boolean {
|
check(path: string): Observable<boolean> |boolean {
|
||||||
let errorCode = LoginErrorCodes.NOT_LOGIN;
|
let errorCode = LoginErrorCodes.NOT_LOGIN;
|
||||||
const obs = this.propertiesService.subscribeEnvironment().pipe(mergeMap(properties => {
|
const obs = this.propertiesService.subscribeEnvironment().pipe(mergeMap(properties => {
|
||||||
return this.userManagementService.getUserInfo(properties['userInfoUrl']).pipe(map( user => {
|
return typeof document !== 'undefined' && this.userManagementService.getUserInfo(properties['userInfoUrl']).pipe(map( user => {
|
||||||
if(user) {
|
if(user) {
|
||||||
errorCode = LoginErrorCodes.NOT_ADMIN;
|
errorCode = LoginErrorCodes.NOT_ADMIN;
|
||||||
}
|
}
|
||||||
|
|
|
@ -47,22 +47,23 @@ export class UserComponent {
|
||||||
});
|
});
|
||||||
if (typeof document !== 'undefined') {
|
if (typeof document !== 'undefined') {
|
||||||
this.server = false;
|
this.server = false;
|
||||||
}
|
this.userManagementsService.getUserInfo(this.properties.userInfoUrl).subscribe(user => {
|
||||||
this.userManagementsService.getUserInfo(this.properties.userInfoUrl).subscribe(user => {
|
this.user = user;
|
||||||
this.user = user;
|
this.loggedIn = !!this.user;
|
||||||
this.loggedIn = !!this.user;
|
|
||||||
this.errorMessage = "";
|
|
||||||
this.sub = this.route.queryParams.subscribe(params => {
|
|
||||||
this.errorCode = params["errorCode"];
|
|
||||||
this.redirectUrl = params["redirectUrl"];
|
|
||||||
this.errorMessage = "";
|
this.errorMessage = "";
|
||||||
if (this.loggedIn && this.errorCode == '1') {
|
this.sub = this.route.queryParams.subscribe(params => {
|
||||||
this.redirect();
|
this.errorCode = params["errorCode"];
|
||||||
}
|
this.redirectUrl = params["redirectUrl"];
|
||||||
|
this.errorMessage = "";
|
||||||
|
if (this.loggedIn && this.errorCode == '1') {
|
||||||
|
this.redirect();
|
||||||
|
}
|
||||||
|
});
|
||||||
});
|
});
|
||||||
});
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
ngOnDestroy() {
|
ngOnDestroy() {
|
||||||
this.sub.unsubscribe();
|
this.sub.unsubscribe();
|
||||||
if (this.sublogin) {
|
if (this.sublogin) {
|
||||||
|
|
|
@ -2,7 +2,7 @@ import {Injectable} from '@angular/core';
|
||||||
import {HttpClient} from '@angular/common/http';
|
import {HttpClient} from '@angular/common/http';
|
||||||
import {Observable, of} from "rxjs";
|
import {Observable, of} from "rxjs";
|
||||||
import {COOKIE, User} from "../login/utils/helper.class";
|
import {COOKIE, User} from "../login/utils/helper.class";
|
||||||
import {catchError, map} from "rxjs/operators";
|
import {catchError, map, timeout} from "rxjs/operators";
|
||||||
|
|
||||||
@Injectable({
|
@Injectable({
|
||||||
providedIn: 'root'
|
providedIn: 'root'
|
||||||
|
@ -16,7 +16,7 @@ export class UserManagementService {
|
||||||
const token = COOKIE.getCookie('AccessToken');
|
const token = COOKIE.getCookie('AccessToken');
|
||||||
return this.http.get<User>(url + token).pipe(map(userInfo => {
|
return this.http.get<User>(url + token).pipe(map(userInfo => {
|
||||||
return this.parseUserInfo(userInfo);
|
return this.parseUserInfo(userInfo);
|
||||||
})).pipe(catchError(() => {
|
})).pipe(timeout(2000), catchError(() => {
|
||||||
return of(null);
|
return of(null);
|
||||||
}));
|
}));
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue