初用JWT,请教更新 token 的合适时机
我初用 Node 做后台,使用了 JWt,因为欠缺经验,有些疑惑,想请教大家。
token 包含内容:
{
id,
username,
avatar,
email
}
目前后台会在以下情况返回新的 token:
注册、登陆、修改资料。
用户修改头像不需要二步验证,所以只要有 token 就行。
现在我在想,如果用户的 token 被盗的话,窃贼可以依据 token 修改头像,并获得新的合法 token,只要其在过期时间(1小时)内修改一次,他就一直可以使用这个用户的身份。
如果修改资料时不更新 token 的话,token 过期后就只能重新登陆获取 token,这样是不是更安全呢?
在实际使用中,除了登陆注册,应不应该让其他一些操作也可以获得新的 token 呢?如果有的话,有哪些情景呢?求教,谢谢大家~
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
登录时返回 token 和 refresh_token ,token 过期则使用 refresh_token 请求重新生成 token 和 refresh_token。如果 refreh_token 也过期,则重新登录。其它时候不应该更新 token
其实你应该关注客户端和服务器之间通信的安全性,确保客户端发送的数据在传输过程中不被截取。
客户能拿到token就说明是可信赖的,如果是客户自己泄露的,那没办法避免了,那你只能调整鉴权方式以确保泄露的token尽可能快速失效。这个也和JWT功能没啥太大关系了。