node.js 下 jwt 的实现,如何保存 token?
最近在试着做 express + jsonwebtoken 的后端,有个问题搞不清楚,POST 用户名密码通过之后成功签发 token ,在这之后只需要 json(token:token) 就行了吗?看的资料都只是返回,下一节就直接附带token到验证的步骤了,所以对于这点还是不太清楚。
使用 Postman 测试:
POST: https://localhost:3101/api/v1/admin/login
附带了正确的用户名密码
var token = tokenConfig.signinToken(admin)
req.headers['x-access-token'] = token
console.log(req.headers['x-access-token']) //输出了token
res.json({ success: true, message: 'Enjoy your token!', token: token })
我试着直接写入请求头,然后进行下一步
GET:https://localhost:3101/api/v1/admin/user/1
console.log(req.headers['x-access-token']) //输出了undefined
另外有个疑问,看的资料里头,有些是利用req.headers['x-access-token']传递,有些是用req.headers["authorization"],这两者有什么区别?
求辅导:)
补充
可能我的表达有点问题,就是,后端签发token之后,json返给前端,前端怎么做才能在后续的每一个请求里附带这个token?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
首先爱你 http://jwt.io 这里有写好的JWT库。
用这些库好一点,不知道楼主是不是用到了还是自己编的方法。
然后,token获取是客户端发送的,可以把token字符串存储在本地。浏览器有localStorage或者cookie或者sessionStorage等。APP平台有各种存储机制。
然后请求服务器时候带上get参数或者header参数。
你这里是那个header是要从客户端给服务端还是服务端给客户端?怎么把值赋给req啦?
一般在登录成功时把jwt存cookie里面就行了,客户端请求的时候会自动带上的,只需要在后端验证jwt即可
一般都是存在 localstorage 里面