jwt - Angular 6 - 将 JWT 不记名令牌添加到标头不起作用
问题描述
我正在尝试添加身份验证承载令牌标头,同时从角度 6 中的 asp.net core 2.2 后端获取评论
getComment(postId: number): Observable<IComment[]>{
let headers = new HttpHeaders();
headers.append('Content-Type', 'application/json');
let authToken = localStorage.getItem('auth_token');
headers.append('Authorization', 'Bearer ' + authToken);
console.log(authToken);
return this.httpClient.get<IComment[]>('api/comment/post/' + postId, { headers });
}
这段代码不起作用。我从 console.log(authToken) 得到一个值。当我在 Postman 中复制令牌时,一切正常。
我在服务中的登录功能。这很好,我从后端获取令牌。
login(login: ILogin) {
console.log(login);
return this.http
.post('api/auth/login', login)
.pipe(map((res: any) => {
localStorage.setItem('auth_token', res.auth_token);
this.loggedIn = true;
this._authNavStatusSource.next(true);
return true;
}));
}
当我从后端的操作中删除授权时,获取评论工作正常。正如您在下图中看到的,jwt 令牌只是没有被添加到标题中。
解决方案
您没有在{ headers }
节中传递标题。更改return this.httpClient.get<IComment[]>('api/comment/post/' + postId, { headers });
为return this.httpClient.get<IComment[]>('api/comment/post/' + postId, { headers: headers });
推荐阅读
- python - 从boruta导入Borutapy,错误:找不到名为Boruta的模块
- python - 遍历多个 pandas 数据框和 sqlite 选择/插入查询
- python - 如何在这里替换 for 循环?
- instagram-api - 访问 Instagram 的 Basic Display API 以获取有关特定公共帐户帖子的指标
- amazon-web-services - AWS Quicksight - 连接数据库和生成图表的逻辑
- java - Mockito 错误地给出 InvalidUseOfMatchersException?
- tensorflow - CNN1D 在二元分类问题(Keras)中只学习一个类
- python - 在python中的数据框中拆分空格分隔值的列
- php - 当用户每次在php pdo中更新记录时如何更新当前时间戳
- javascript - 如何交替兄弟Vue组件v-for渲染父组件列表中的共享数组