jwt的token⾃动续约_JWTtoken过期⾃动续期解决⽅案
过去式单词
access_token: ⽤于⼀般的资源请求的token2013年高考日期
refresh_token: access_token过期后⽤于刷续期的token,注意设置refresh_token的过期时间需⽐access_token的过期时间长。
问题场景与解决办法达蒙 塞尔瓦托
问题1:
实现⾃动登录 JWT Token设置有效期,⼀旦失效⽤户就要重新登录,这样的体验⾮常差,需要做到⽤户在⽆感知的情况下,解决如何刷新Token的问题
解决⽅案:
⽤户登录时调⽤后端认证接⼝,后端验证⽤户成功之后⽣成两个token,access_token和refresh_token ,后端将⽤户信息和这两个token打包成JWT后并返回给前端。前端在获取到登录成功返回的两个token之后,将之存放到localStorage本地存储中。风格style
问题2:
西点培训学校
多伦多大学排名JWT⽤户如何⽆感知刷新token?
contactperson解决⽅案:
JWT token过期⾃动续期解决⽅案(去Redis)
tip是什么意思
1)前端调⽤认证服务器登录, 正确后从认证服务器获取token(访问令牌access_token,刷新令牌refresh_token,过期时间(秒)exp_in,其中access_token为5分钟,refresh_token为30分钟,过期时间为300秒;
upstairs
2)前端将其保存
3)每次Http请求带着access_token来访问资源服务端,资源服务器将按如下步骤令牌。
4)先校验JWT是否合法(只是过期,不影响校验通过) 或 ⽤户ID是否存在, 不满⾜任⼀条件,返回401,让⽤户重新登录。
5)验证令牌是否过期,没过期就结束令牌校验,继续本次请求的业务逻辑(此时,JWT合法性校验通过,)。
6)令牌已过期,
如果令牌过期时间超过了过期时间的两倍,返回401,让⽤户重新登录。
夏季如何保养皮肤如果令牌过期时间⼩于过期时间的两倍,并在http响应头添加特列标识 token_expired=access_token ,服务器同时返回后继的业务结果,前端接收到后,应该在后续的再到认证服务器获取新的token)