Files
SkydiveLogs/Front/skydivelogs-app/src/services/auth-guard.service.ts
T
2023-05-04 09:27:13 +02:00

25 lines
854 B
TypeScript

import { Injectable } from "@angular/core";
import { Router, ActivatedRouteSnapshot, RouterStateSnapshot } from "@angular/router";
import { AuthenticationService } from "./authentication.service";
@Injectable({ providedIn: "root" })
export class AuthGuardService {
constructor(private router: Router,
private authenticationService: AuthenticationService) {}
public canActivate(route: ActivatedRouteSnapshot,
state: RouterStateSnapshot) {
const currentUser = this.authenticationService.currentUserValue;
if (currentUser) {
// logged in so return true
return true;
}
// not logged in so redirect to login page with the return url
this.router.navigate(["/login"],
{skipLocationChange: true, queryParams: { returnUrl: state.url }});
return false;
}
}