我目前使用JWT进行身份验证,但是为了使令牌无效,我将redis(因此不必进入MYSQL DB)添加到黑名单令牌中。
虽然这使我可以使令牌无效,但使令牌每20分钟失效一次,并让用户再次登录并不是一种好的体验,因此我试图实现刷新令牌,但是我想不出办法让事情变得更加无状态。
如果我实现刷新令牌,那么我将每20分钟检查一次数据库以查看刷新令牌是否有效。这样不会破坏JWT的意义。
我可能会考虑过度,但是有什么方法可以使对MYSQL数据库的访问降至最低?
使用redis很好,但是如果服务器出现故障,则列入黑名单的令牌将消失。
我真的需要帮助。由于我们的整个身份验证系统都是围绕JWT进行的,因此我正在扯头发。