后端基于JWT验证,Angular post 请求如何携带token?
当用户成功登录后获取后端返回的token
userService.loginUser(user).then(
function(response) {
$cookies.put("token", response.token)
...
然后,更新个人信息时,如何携带这个token呢?
token = $cookies.get("token")
console.log(token)
studentService.edit(token).save({studentId: $scope.student.id}, student,
function(response) {
console.log(response)
studentService
angular.module('app')
.factory('studentService', [
'$resource',
function($resource) {
return {
detail: function() {
return $resource('/api/student/:studentId/ ', {
studentId: '@studentId'
})
},
edit: function(token) {
return $resource('/api/student/:studentId/edit/ ', {
studentId: '@studentId'
},{headers: { 'auth-token': token }})
}
}
}
]);
我是这样做的,但是仍然显示验证不通过。
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(4)
{withCredentials:true}
科普连接谢邀,手机上不方便给发送具体文章链接。主要给你思路哈。
应该登录后,每个请求都需要带token上去。一般会通过添加自定义请求头,然后AngularJS 1.x 有提供拦截器来实现这个功能哈。另外建议你也查找一下,MDN CORS的相关资料及$resource相关文档。
国外有很多AngularJS 1.x与JWT的应用示例,建议你Google搜索一下。
用angularjs-jwt,在每个请求头上加上token,参考:github地址https://github.com/auth0/angu...
在你的拦截器里面加上这个,jwt默认是放在headers的Authorization里面