请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

Could not create token 无法创建令牌

生成token时,报错:Could not create token: Using integers for registered date claims is deprecated, please use DateTimeImmutable objects instead.

检查了2遍,使用步骤都没问题,就是生成token的时候报错,起初还以为是环境有问题,重新装了一下环境,结果还是报错,折腾了好久都没解决,想请教一下老师,下面是截图:
图片描述

然后尝试在 tinker 中获取token,token可以输出,但是中间报了一堆错,百度查了一下,也没有找到相关的解决办法

系统版本:CenterOS 7
mysql 5.6
php 7.3
Nginx 1.18.0
Redis 6.0.8

错误详细信息:
PHP Deprecated: Using integers for registered date claims is deprecated, please use DateTimeImmutable objects instead.

PHP Deprecated: Using integers for registered date claims is deprecated, please use DateTimeImmutable objects instead.

PHP Deprecated: Using integers for registered date claims is deprecated, please use DateTimeImmutable objects instead.

PHP Deprecated: Implicit conversion of keys from strings is deprecated. Please use InMemory or LocalFileReference classes.

PHP Deprecated: Not specifying the signer and key to Builder#getToken() is deprecated.

Please move the arguments from Builder#sign() to Builder#getToken().

图片描述

尝试过的办法:

  1. 清除了Composer缓存,删除了tymon/jwt-auth包,重新下载,没解决
  2. 重新安装了centerOS7 系统,php 7.3 … 没解决

正在回答

2回答

可以把完整的代码发到仓库,我下下来看下

1 回复 有任何疑惑可以回复我~
  • 提问者 玮哥很惆怅 #1
    老师,我在官方的Issues看了以后解决了,https://github.com/tymondesigns/jwt-auth/issues/2059
    我一开始是装了 1.0.1 版本的,后来降到1.0.0 还是报错,我把 config/jwt.php 里面的一行配置修改成:
     'jwt' => Tymon\JWTAuth\Providers\JWT\Namshi::class,
    就解决了,做第一遍的时候都正常,今天重写的时候就报错了,感觉是作者更新了jwt-auth包吧
    回复 有任何疑惑可以回复我~ 2020-11-27 22:19:02
  • 提问者 玮哥很惆怅 #2
    https://gitee.com/duanrenwei/laravel7.x-jwt 老师,我把完整代码放到码云仓库上,您有空帮我看一眼。试了很多次,除了修改配置文件,其他方法都不行
    回复 有任何疑惑可以回复我~ 2020-11-28 00:27:13
  • 提问者 玮哥很惆怅 #3
    非常感谢!
    回复 有任何疑惑可以回复我~ 2020-11-28 02:32:01
檀梵 2020-11-27 20:13:10

jwt包是什么版本

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信