Laravel Passport:目标 [Lcobucci\JWT\Parser] 在构建 [Laravel\Passport\PersonalAccessTokenFactory] ​​时不可实例化

Gam*_*llo 6 laravel laravel-passport

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

$token = $user->createToken('authToken')->accessToken;
Run Code Online (Sandbox Code Playgroud)

这是我的注册操作的代码:

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);
}
Run Code Online (Sandbox Code Playgroud)
  • 护照版本:10.0
  • Laravel 版本:8.16.1
  • PHP 版本:7.4.13
  • 数据库驱动程序和版本:MySQL 5.7.24

Gam*_*llo 19

我在:https : //github.com/laravel/passport/issues/1381上找到了解决方案。

在 composer.json 中添加 "lcobucci/jwt": "3.3.3" 并执行 composer update。


DEV*_*nça 9

## Works in Laravel 7
composer require lcobucci/jwt:"^3.0"
Run Code Online (Sandbox Code Playgroud)