I have a service with this function that returns true or false on rather or not a token is valid
loggedIn() {
return this.http.get(\'http://localhost:3000/us
The canActivate
function must return a boolean, a promise of a boolean, or an observable of a boolean.
In your case, you return nothing. Probably because you ommited the return
in your function.
But it wouldn't work if you add it, because then, you would return a subscription, which isn't accepted by the signature.
What you could do is this :
canActivate() {
return this.authService.loggedIn().map(res => {
if(!res) {
this.router.navigate(['/login']);
}
return res;
});
}
With this code, you comply with the signature, and keep your routing logic.