Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import { Injectable } from '@angular/core';
- import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, Router } from '@angular/router';
- import { Observable } from 'rxjs/Observable';
- import { AngularFireAuth } from 'angularfire2/auth';
- import 'rxjs/add/operator/do';
- import 'rxjs/add/operator/map';
- import 'rxjs/add/operator/take';
- @Injectable()
- export class AuthGuard implements CanActivate {
- constructor(private afAuth: AngularFireAuth, private router: Router, private) {}
- canActivate(
- next: ActivatedRouteSnapshot,
- state: RouterStateSnapshot): Observable<boolean> {
- return this.afAuth.authState
- .take(1)
- .map(user => {
- return !!user
- })
- .do(loggedIn => {
- if (!loggedIn) {
- console.log("access denied")
- this.router.navigate(['/login']);
- }
- })
- }
- }
Add Comment
Please, Sign In to add comment