Je suggère de créer un service d'authentification pour stocker votre jeton en tant que variable simple et un Guard pour empêcher les redirections vers des pages sécurisées sans jeton. Vous pouvez l'implémenter dans un service:
@Injectable()
export class AuthService implements CanActivate, CanActivateChild {
token:String;
canActivateChild = this.canActivate;
constructor(private router: Router) {}
canActivate(route: ActivatedRouteSnapshot, state: RouterStateSnapshot) {
if (!this.token) {
this.router.navigate(['/signin']);
return false;
}
return true;
}
}
export const ROUTES: Routes = [{
path: 'signup',
component: SignupComponent
}, {
path: 'securedpath',
component: SecuredComponent,
canActivateChild: [AuthService],
canActivate: [AuthService]
}]
Mais ce service doit être singleton. Garde le en mémoire. Déclarez-le dans la liste des fournisseurs de votre app.module (ou core.module si vous utilisez le guide de style de Jonh Papa)
Si vous avez une valeur que vous ne voulez pas survivre à un rechargement de page (en supposant que c'est ce que vous entendez par "faire") un rafraîchissement ") - alors pourquoi le mettez-vous dans localstorage en premier lieu ...? Un simple _variable_ Javascript normal vieux réaliserait cela sans que vous ayez à effectuer des étapes supplémentaires ... – CBroe