JWT 续期机制

看之前需要了解一下原生token和jwt的工作原理

 

  • 背景提要

jwt 是 原生token 会话的下一代,具有自验证的功能。他的改进是把原生token的有状态(服务端存储)设计模式改为了无状态(服务端无需存储)设计模式。解决了服务器端要存储大量会话信息的问题。所以,用jwt,就不应该在服务器端存储之不然用以前的uuid生成的token不就好啦。 


 

  • 问题说明

jwt怎么续期。jwt 生成以后就是不可修改的,所以这里的续期指的是返给客户端新的jwt。

所以今天讨论的主题准确点说应该是:jwt的刷新机制

 


 

  • dis部分

奔着这个主题到Google和度娘怀里游了一个多月,却发现近乎八九成的搜索结果都是要服务端存贮jwt。WTF。。。

 


 

  • 亮明观点

其他的文章有建议每次请求都刷新的(太空垃圾真的没影响吗),也有建议客户端自己判断过期时间主动请求刷新的(说好的前端无感知呢),唯一觉得可行的是:前端每次请求都携带access_token和refresh_token,后端验证access_token过期后,用refresh_token去鉴权中心重新获取access_token和refresh_token(所以这个地方要保证refresh_token的过期时间比access_token过期时间长,觉得两倍的时间最合理)。如果验证refresh_token也过期,则直接反馈前端会话过期,让前端重新登陆。

采用最后这种方案就是我的观点

posted @ 2020-08-27 12:26  这,看不懂  阅读(5466)  评论(13编辑  收藏  举报