双token无感刷新结合redis的流程是怎么样的
#jwt##java#首先双token是什么,就是当你点击登录的时候会生成两个token,
第一个叫AccessToken,第二个叫RefreshToken
第一个主要作用就是每次在业务请求是会携带这个token,会设置较短的过期时间,这个token一般储存在浏览器的localStorage属于本地储存,后续由js代码读写
第二个就是RefreshToken一般储存在前端cookie中有httpOnly属性代表它只能通过http协议进行,这个非常的安全,前端是拿不到这个数据的,同时也会在redis中存储这个RefreshToken,AccessToken过期时候通因为只有在协议里可以携带refreshtoken,所以会调用业务接口发送请求,请求里携带了这个RefreahToken,后端生成新的AccessToken返回给前端再进行业务访问,
无感刷新实现的核心操作就是前端js监听到AccessToken过期或者状态码401,立马就向着后端去发送这个refreshToken,
这个时候先在redis中进行验证,假如有这个token然后放行,后端再生成新的AccessToken返回给前端,假如没有这个token比如过期或者黑名单,就返回到登录界面重新进行登录。redis的作用就是验证ReFreshToken是否过期为ReFreshToken设置过期时间或者为ReFreshToken延长过期时间
这是目前学习到的个人看法如果有问题请帮忙指正谢谢
这是个单点登录,用户每次业务访问都要看accessKey是否有效,是否在黑名单中
第一个叫AccessToken,第二个叫RefreshToken
第一个主要作用就是每次在业务请求是会携带这个token,会设置较短的过期时间,这个token一般储存在浏览器的localStorage属于本地储存,后续由js代码读写
第二个就是RefreshToken一般储存在前端cookie中有httpOnly属性代表它只能通过http协议进行,这个非常的安全,前端是拿不到这个数据的,同时也会在redis中存储这个RefreshToken,AccessToken过期时候通因为只有在协议里可以携带refreshtoken,所以会调用业务接口发送请求,请求里携带了这个RefreahToken,后端生成新的AccessToken返回给前端再进行业务访问,
无感刷新实现的核心操作就是前端js监听到AccessToken过期或者状态码401,立马就向着后端去发送这个refreshToken,
这个时候先在redis中进行验证,假如有这个token然后放行,后端再生成新的AccessToken返回给前端,假如没有这个token比如过期或者黑名单,就返回到登录界面重新进行登录。redis的作用就是验证ReFreshToken是否过期为ReFreshToken设置过期时间或者为ReFreshToken延长过期时间
这是目前学习到的个人看法如果有问题请帮忙指正谢谢
这是个单点登录,用户每次业务访问都要看accessKey是否有效,是否在黑名单中
全部评论
相关推荐
今天 16:45
门头沟学院 Java 点赞 评论 收藏
分享