node.js 下 jwt 的实现,如何保存 token?

发布于 2022-09-06 06:04:39 字数 1229 浏览 21 评论 0

最近在试着做 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

街角迷惘 2022-09-13 06:04:39

首先爱你 http://jwt.io 这里有写好的JWT库。
用这些库好一点,不知道楼主是不是用到了还是自己编的方法。
然后,token获取是客户端发送的,可以把token字符串存储在本地。浏览器有localStorage或者cookie或者sessionStorage等。APP平台有各种存储机制。
然后请求服务器时候带上get参数或者header参数。
你这里是那个header是要从客户端给服务端还是服务端给客户端?怎么把值赋给req啦?

梦在深巷 2022-09-13 06:04:39

一般在登录成功时把jwt存cookie里面就行了,客户端请求的时候会自动带上的,只需要在后端验证jwt即可

勿忘初心 2022-09-13 06:04:39

一般都是存在 localstorage 里面

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文