首页 > 技术文章 > firebase jwt Cannot handle token prior to xxxx的解决办法

cdyy 2019-09-27 16:51 原文

使用php开发api接口,然后涉及到一个登录问题,第一时间就想到了jwt,在机缘巧合下又结识了firebase/php-jwt,一开始很开心没有遇到什么问题,但是过了段时间出现了明明登录成功了。业务系统又重定向会登录页了一开始以为是缓存问题,但是该问题出现在不同的机器上,这是再甩锅给缓存就有点说不过去了。

后来就检查异常日志发现在jwt解签的时候出现一段异常:Cannot handle token prior to 2019-09-27T16:10:27+0800

原来是api服务器的时间与业务系统所在的机器时间有些小偏差所致。

解决办法:

第一种:把两个服务器的时间同步成一致的

第二种:查看php-jwt的源码提供了一个静态变量$leeway,我们可以在解签前JWT::$leeway+=15;解决问题(我使用的办法)

嗯,就这样,第一次使用php做开发,记录一下。

推荐阅读