【发布时间】:2018-04-17 06:27:25
【问题描述】:
我在服务器节点中使用 JWT 来检查用户是否已连接。 AuthGuard 在 observable 中,它将检查我的用户是否已连接:
canActivate(): Observable<any> {
if ( !localStorage.getItem('currentUser')){
return Observable.of(false);
}
// Authorization with JWT Token
const options = {
headers: new HttpHeaders().set('Authorization', 'BEARER ' + localStorage.getItem('currentUser') )
};
//Check if the JWT Token is always available and if the signature is right
return this.http.get(environment.api + 'checkToken', options )
.map(() => true).catch(() => {
return Observable.of(false);
});
}
现在我想将布尔值从 canActivate 发送到另一个组件。我的另一个组件是我网站的导航栏。当用户断开连接时,我想在导航栏中隐藏一些链接。但是,我想在用户连接时显示一些元素。
但即使我在导航栏组件的构造函数中使用 observable,它也只会检查一次用户是否已连接。
你有什么想法可以将我的 AuthGuard 中的布尔值发送到我的导航栏组件吗?
谢谢
【问题讨论】:
标签: javascript node.js angular jwt