无法创建令牌:不推荐从字符串隐式转换键。请使用 InMemory 或 LocalFileReference 类

Posted

技术标签:

【中文标题】无法创建令牌:不推荐从字符串隐式转换键。请使用 InMemory 或 LocalFileReference 类【英文标题】:Could not create token: Implicit conversion of keys from strings is deprecated. Please use InMemory or LocalFileReference classes 【发布时间】:2021-03-08 04:05:57 【问题描述】:

使用 Lumen 从 JWT 获取一些错误:

https://github.com/tymondesigns/jwt-auth/issues/2059

任何快速修复的建议,这似乎是新版本中的一个错误。

【问题讨论】:

【参考方案1】:

在this thread,提出了两种解决方案作为快速修复:

解决方案 1:

在 config\jwt.php 文件中更改 'jwt' => Tymon\JWTAuth\Providers\JWT\Lcobucci::class,到 'jwt' => Tymon\JWTAuth\Providers\JWT\Namshi::class, => 它对我有用

解决方案 2:

lcobucci/jwt:3.4 有这个问题,composer require lcobucci/jwt:3.3 可以解决。

最新的jwt包发布(3.4.0)似乎有问题

【讨论】:

这个解决方案应该适用于 Laravel。如果 Lumen 需要它,则在项目的根目录中创建一个名为 config 的新文件夹,并在其中创建一个名为 jwt.php 的文件。然后复制该文件中的内容:github.com/tymondesigns/jwt-auth/blob/1.0.0-beta.2/config/… 然后转到您的bootstrap\app.php 文件并在Register Config Files 部分添加这一行:$app->configure('jwt'); 护照呢? 你有解决护照这个问题的办法吗? 你有没有尝试在你的项目目录中composer require lcobucci/jwt:3.3?它应该适用于护照。

以上是关于无法创建令牌:不推荐从字符串隐式转换键。请使用 InMemory 或 LocalFileReference 类的主要内容,如果未能解决你的问题,请参考以下文章

哈希键列的隐式转换导致插入速度非常慢

我收到此错误无法将字符串隐式转换为 system.data.datatable

无法将类型字符串隐式转换为 serilog.formatting.ITextformatter

使用护照Laravel创建令牌时出现异常

数据库界面修改时,出现不允许从数据类型 datetime 到 int 的隐式转换.请使用 CONVERT 函数来运行此查询。

无法将类型 double 隐式转换为 int