Angular JWT 令牌解析为 json 问题
Posted
技术标签:
【中文标题】Angular JWT 令牌解析为 json 问题【英文标题】:Angular JWT token parsing to json issue 【发布时间】:2018-11-29 11:11:05 【问题描述】:我已经在 jwt.io 上验证了我的 JWT
但是当我尝试解析响应时:
login(model: any)
return this.http
.post(this.baseURI + 'login', model, this.requestOptions())
.map((response: Response) =>
const user = response.json();
if (user)
localStorage.setItem('token', user.token);
this.decodedToken = this.jwtHelper.decodeToken(user.token);
console.log(this.decodedToken);
this.userToken = user.token;
)
.catch(this.handleError);
它抛出一个错误说明:
尝试解析对json的响应时产生错误:response.json(); 一点帮助将不胜感激。
【问题讨论】:
"Angular is running in the development mode..." 不是错误,它只是一条信息消息,告诉您 Angular 正在开发模式下运行。如果您执行“ng serve --prod”而不是“ng-serve”,您会发现它不会这么说。 附加了错误的图片。请立即查看错误。 请删除 this.requestOptions() requestoptions 是标头选项。 您能指定您的回复文本吗? 【参考方案1】:由于令牌以 e
开头,并且您的错误表明它在预期为 Json 文档的位置 0 处收到意外的 e
,听起来您可能会收到包含令牌的响应正文原始文本,而不是您的代码所期望的 Json User
对象。
【讨论】:
以上是关于Angular JWT 令牌解析为 json 问题的主要内容,如果未能解决你的问题,请参考以下文章
如何根据 JWT 令牌中的属性更改前端(Angular)视图上显示的内容?
如何在 Angular 8 中对客户端的 JWT 解码令牌有效负载进行编码?