不推荐从字符串中隐式转换键。请使用 InMemory 或 LocalFileReference 类。[Laravel/护照]

Sen*_*hur 22 jwt laravel laravel-passport

我今天使用 laravel/passport 进行 api 身份验证我的旧访问令牌不起作用,当我尝试生成新的访问令牌时,我得到了

不推荐从字符串中隐式转换键。请使用 InMemory 或 LocalFileReference 类。{"exception":"[object] (ErrorException(code: 0): 不推荐从字符串隐式转换键。请使用 InMemory 或 LocalFileReference 类。

有人有任何解决方案吗?

sta*_*sta 35

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

或者,在config\jwt.php文件更改中:

'jwt' => Tymon\JWTAuth\Providers\JWT\Lcobucci::class,
Run Code Online (Sandbox Code Playgroud)

'jwt' => Tymon\JWTAuth\Providers\JWT\Namshi::class,
Run Code Online (Sandbox Code Playgroud)

  • 这些提供商之间有什么区别? (2认同)
  • 对我来说,这是使用“composer require lcobucci/jwt:3.3.1”的工作。拉拉维尔 5.5 (2认同)

小智 8

如前所述,lcobucci/jwt:3.4导致此问题,可以通过降级到 3.3.* 来解决。但是,如果您声明了这样的内容:

"lcobucci/jwt": "^3.3.1",
Run Code Online (Sandbox Code Playgroud)

您需要删除 ,^因为仍会下载 v3.4。请记住,由于错误修复和其他内容,使用较新版本可能会更好,因此请确保更新相应的逻辑以使用较新版本的依赖项。