Token的更新策略

作者: 精致的吴彦祖 | 来源:发表于2019-07-14 16:36 被阅读685次

在单台服务器中,我们的用户认证大部分采取的是session(会话),但如果是一个集群的服务器架构呢?就得要做session共享,多个服务共享一个session,这样就可以确保集群服务器架构(多台服务器)使用一个session,或者我们还可以使用Token来做登录认证,使用Token+Redis这两者一起实现一个完整的登录认证。

Session共享咱们以后再讲,今天我们来说说Token+Redis怎么做登录认证。

先给大家简单的介绍什么是JWT,JWT全称为(JSON WEB TOKEN),是目前流行做登录认证的工具之一,它是一个非常轻巧的规范。这个规范允许我们使用JWT在用户和服务器之前传递安全可靠的信息。它的两大使用场景就是做认证和数据交换。

详细的JWT我在这不做详解,留在下一篇。今天要说的是JWT的认证,也就是使用JWT来生成Token,并且客户端使用Token来访问我们其他需要用户认证的接口。

其实JWT生成的就是一段字符串,JWT生成的Token由三部分组成:Header,Payload,Signature。详细的情况自行去了解,在这不做阐述。今天咱们主要是讲Token的更新策略。

咱们生成Token的场景是在用户登陆成功时生成的,如果用户每次登陆时都要生成一个Token,那么在高并发场景下是十分不好的,而且也容易被人恶意攻击,咱们就可以使用本店缓存方案来做Token更新策略。

JWT生成的Token是有一个有效期机制的,设置了30分钟那么这个Token就是30分钟,如果用户这30分钟总是在活跃在我们的WEB网站上,那么在第31分钟就得要去重新登录一次,这样给用户的体验是极差的,而且跟咱们单台服务器使用的Session有效期机制也是不一样的。

本地缓存咱们可以采取Redis系统,现在市面上最流行的内存数据库。使用Redis来做Token的更新策略主要流程,可以先看看以下的图。

这张图的主要思路就是:用户携带账号密码访问后端校验,校验成功后生成Token,并且给Token设置有效期,并且把Token放入至Redis中,redis中的有效期一定要比Token的有效期大。当用户访问接口时,如果token已经失效了,则去redis中查找,redis有该token则生成一个新的token,替换掉已经失效的token,redis的有效期时间则重新设置为60分钟。如果redis中没有该token,说明该token已经在redis失效或者是无效token,则告知用户重新登录。

觉得写得好的可以关注微信公众号:请快点喜欢我

相关文章

  • Token的更新策略

    在单台服务器中,我们的用户认证大部分采取的是session(会话),但如果是一个集群的服务器架构呢?就得要做ses...

  • Token的更新策略(后话)

    在七月份的时候我发布了一篇Token的更新策略 在评论区下有人提出了这么一个疑问:如果多个异步同时请求后台,携带的...

  • git命令行提示推送不了 解决办法

    github最近更新了安全策略 我们用token推送就行,自己网上找教程 然后git push github 提示...

  • Token策略

    用户携带账号密码访问后端校验,校验成功后生成Token,并且给Token设置有效期,并且把Token放入至Redi...

  • OAuth2.0关于刷新token的问题

    通过refresh token刷新access token时,refresh token也随之更新的问题? 项目背...

  • 移动端不定期更新token方案

    客户端需要不定期更新token,同时得保证在发送更新token同时其他网络请求挂起,否则会报token失效。待新t...

  • 基于token的登录认证

    最近在简书看到2文章 前后端分离——token超时刷新策略 cookie、session、token、jwt 这里...

  • Redis实战笔记-购物网站

    会话维持 使用Token维护用户登陆状态,作为用户操作凭证。 更新Tokenhset login: token u...

  • AbstractRememberMeServices细节记录

    AbstractRememberMeServices有两个实现类 实现类服务端存储token校验后更新token有...

  • 策略迭代(Policy Iteration)

    1. 策略迭代算法: 初始化.策略评估:(一般而言,下式中为固定策略由于策略更新)策略更新:如果与上次迭代相比没有...

网友评论

    本文标题:Token的更新策略

    本文链接:https://www.haomeiwen.com/subject/vlqikctx.html