Notice: 函数 WP_Scripts::localize 的调用方法不正确$l10n 参数必须是一个数组。若要将任意数据传递给脚本,请改用 wp_add_inline_script() 函数。 请查阅调试 WordPress来获取更多信息。 (这个消息是在 5.7.0 版本添加的。) in /data/www/appblog/wp-includes/functions.php on line 6131

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异常