你好,互联网用户,
我正在尝试使用Mongoose作为后端制作Angular 5应用程序。现在我想在localStorage中存储数据(身份验证令牌),以便用户在关闭页面后保留其身份验证令牌。此令牌用于访问我们的Mongoose端点。
当我们在登录后尝试访问令牌(您在登录后获得令牌)时,它会检索它(我们在控制台日志中看到了这一点)但是当我们尝试将其设置为未来请求的标头时给我们一个403禁止的错误。
这是错误:
这是我们用来初始化标题的代码和带有标记的localStorage:
private token = localStorage.getItem('token');
private headers = new Headers({'token': this.token});
public headerDict = new Headers({
'token': this.token
});
public requestOptions = {
headers: new Headers(this.headerDict),
};
这是我们尝试使用给定标头的方法:
getUser() {
console.dir(this.headers);
console.log('tokenAndereManier: ' + localStorage.token);
return this.http.get(this.serverUrl + (localStorage.userid || '5a3fd41e3ef7ccda81e7dda4'), { headers: this.headerDict})
.toPromise()
.then(response => {
return response.json() as User;
})
.catch(error => {
return this.handleError(error);
});
}
答案 0 :(得分:0)
您在console.log中调用localStorage.token
,但是在您的状态下您正在尝试使用this.token
。由于this
属性仅是对其他位置的引用,因此我建议使用localStorage
前缀。