1 /* Copyright (c) 2019 AT&T Intellectual Property. #
\r
3 # Licensed under the Apache License, Version 2.0 (the "License"); #
\r
4 # you may not use this file except in compliance with the License. #
\r
5 # You may obtain a copy of the License at #
\r
7 # http://www.apache.org/licenses/LICENSE-2.0 #
\r
9 # Unless required by applicable law or agreed to in writing, software #
\r
10 # distributed under the License is distributed on an "AS IS" BASIS, #
\r
11 # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. #
\r
12 # See the License for the specific language governing permissions and #
\r
13 # limitations under the License. #
\r
14 ##############################################################################*/
\r
17 import { Injectable } from '@angular/core';
\r
18 import { Router, CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot } from '@angular/router';
\r
19 import { HttpClient, HttpHandler, HttpHeaders } from '@angular/common/http';
\r
20 import { AppGlobals } from 'app/app.global';
\r
21 import { UserService } from '../services/user.service';
\r
22 import { CookieService } from 'ngx-cookie-service';
\r
25 export class AuthGuard implements CanActivate {
\r
27 constructor(private router: Router, private http: HttpClient, private cookie: CookieService) { }
\r
29 async canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
\r
30 if (this.cookie.check('access_token') && window.localStorage.getItem('access_token')) {
\r
34 // not logged in so redirect to login page with the return url
\r
35 this.router.navigate(['/login'], { queryParams: { returnUrl: state.url }});
\r