Laravel Passport:Target[Lcobucci\JWT\Parser]在生成[Lavel\Pas



这是我第一次尝试这个软件包,我遵循了安装指南https://laravel.com/docs/8.x/passport但是当这个代码块在我的控制器注册操作中时,它会抛出错误:

$token = $user->createToken('authToken')->accessToken;

这是我注册操作的代码:

public function signup(Request $request){
$request->validate([
'name' => 'required',
'email' => 'required|string|email:rfc,dns|unique:users',
'password' => 'required|string|confirmed'
]);
$user = new User([
'name' => $request->name,
'email' => $request->email,
'password' => bcrypt($request->password)
]);
$user->save();
$token = $user->createToken('authToken')->accessToken;
return response()->json([
'message' => 'Successfully created user!',
'access_token' => $token
], 201);
}
  • 护照版本:10.0
  • Laravel版本:8.16.1
  • PHP版本:7.4.13
  • 数据库驱动程序&版本:MySQL 5.7.24

我在以下位置找到了解决方案:https://github.com/laravel/passport/issues/1381.

在composer.json中,只需添加";lcobucci/jwt":"3.3.3";并执行composer更新。

## Works in Laravel 7
composer require lcobucci/jwt:"^3.0"

我有相同的环境;lcobucci/jwt":"3.3.3";包和更新composer修复了我的问题。

我在执行composer update命令经过一番搜索,我发现它找到了我的composer.lock文件,并通过将其降级为旧版本

git restore composer.lock

然后执行

composer install

用于再次安装包装

最新更新