JWT InvalidClaimException – The Token can’t be used before

jwt token错误

Linux服务器上最近使用jwt token的时候遇到了一个奇怪的问题:

InvalidClaimException: The Token can't be used before 某个时间

本地调试完全没问题,测试环境只使用一台也没问题,但是一旦启用多台服务器就会报这个错误。

经分析发现,多台正式服务器的系统时间是不一样的,有一定的差值。生成token的服务器比使用token的服务器时间快几十秒,生成token后,请求分发到时间慢的服务器上导致时间还没到token的开始时间,才报这个错误。

通俗的讲:导致的原因是接收服务器使用了未来的jwt token

解决方法

同步服务器时间:

nptdate -u ntp1.aliyun.com  //网络同步
ntpdate -u 192.168.1.20  //局域网同步

注意123端口必须可以使用

或者通过date设置系统时间

上一篇 Spring Security Oauth2 中优雅的扩展自定义(短信验证码)登录方式
下一篇 Spring Boot使用@Async异步注解导致该Bean在循环依赖时启动报BeanCurrentlyInCreationException异常
目录
文章列表
1 Python模式匹配与正则表达式
Python模式匹配与正则表达式
2
Python Web框架Django入门
Python Web框架Django入门
3
Docker部署应用
Docker部署应用
4
Vue.js插件总结
Vue.js插件总结
5
设计模式(20)适配器模式
设计模式(20)适配器模式
最新评论
一位WordPress评论者
一位WordPress评论者
2月12日
您好,这是一条评论。若需要审核、编辑或删除评论,请访问仪表盘的评论界面。评论者头像来自 Gravatar。