I have a component protected with canActivate guard. The Authguard in the checkLogin
function subscribes from an observable but I do not know how to return a bo
canActivate can return an observable too, see the definition CanActivate-interface. Just change your return types accordingly.
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot): Observable<boolean> {
let url: string = state.url;
return this.checkLogin(url);
}
public checkService:boolean;
checkLogin(url: string):Observable<boolean> {
return this.loadAppSettings().map(res=>{
console.log(this.checkservice);
if (this.checkservice == true)
{
return true;
}
else{
this.router.navigate(['/error-user']);
return false;
}
});
}