使用token认证,如何检测token过期并更新的问题? 400 报错
我看到的是用一个refreshToken去更新token,但是token应该是前端发request请求资源的时候才能知道token失效了吧,那这样前端还是会看到一个请求错误啊,怎么样在用户无感知下更新token?
token 有ttl ttl到期 token失效 ttl到期之前 通过 refreshToken置换 token
######回复 @奔跑小子 : 前端在请求前拦截校验啊######那前端还要定时检测?######存在redis里,每次请求大于设置某个时间段修改ttl值
######String类型, 会导致key增长过多且分散, 建议用hash或者其他集合类型.######临近过期时间更新token有效期
比如某次请求,如果token的有效期临近某一值 那么就更新token的ttl时间
######服务器做法, 如果token接近ttl的请求阀值,则自动为它续期.
客户端做法, 本地在获得Token时,计算下次自动刷新Token的时间, 同时, 启动定时检测以及请求时主动检测的方式刷新Token.
######
用jwt生成token, 每次前端请求时校验token是否快过期了,如果快过期了,在response header里返回一个新的token , 和前端商定,如果返回的 header里有新token ,使用新token替换老token
######token失效后端返回一个明确的状态码,前端发现失效后用refresh_token刷新并获取新的token并且使用新token再次发起之前的请求(前端应该可以做到),如果refresh_token也失效了就要求重新登录
######这样做比定时检测或者每次都检测应该好点,也可以做到refresh_token和token都没过期的情况下用户无感知######刷新token是你需要刷新token的expire_time,而不是改变token的value啊
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。