这是我第一次尝试这个软件包,我遵循了安装指南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
用于再次安装包装