В настоящее время я вхожу в систему моего пользователя и затем я хочу внедрить некоторые средства защиты маршрута, чтобы они не были доступны, если пользователь не вошел в систему.
ТАК, это моя защита.
import { Injectable } from '@angular/core';
import { CanActivate, ActivatedRouteSnapshot, RouterStateSnapshot, UrlTree } from '@angular/router';
import { Observable } from 'rxjs';
import { AngularFireAuth } from '@angular/fire/auth';
@Injectable({
providedIn: 'root'
})
export class AuthguardGuard implements CanActivate {
constructor(public af: AngularFireAuth){
}
canActivate(
next: ActivatedRouteSnapshot,
state: RouterStateSnapshot): Observable<boolean | UrlTree> | Promise<boolean | UrlTree> | boolean | UrlTree {
var user = this.af.auth().currentUser;
if (user) {
return true;
} else {
return false;
}
}
}
Проблема в том, что ---> var user = this.af.auth().currentUser;
выдает ошибку
Cannot invoke an expression whose type lacks a call signature. Type 'Auth' has no compatible call signatures.ts(2349)
(property) AngularFireAuth.auth: firebase.auth.Auth
oO, как я должен проверить, вошел ли пользователь в систему?Я не хочу использовать localSTorage для этого.