php - Laravel Passport 试图获取非对象的属性“秘密”
问题描述
我正在使用 laravel 并尝试Authenthication
使用Laravel passport
. 所以我通过查看文档和 youtube 来完成它,但我得到了这个错误。这是我AuthController
的要求和错误。
AuthController.php
public function register(Request $request)
{
$validatedData = $request->validate([
'name'=>'required|max:55',
'email'=>'email|required|unique:users',
'password'=>'required|confirmed',
'who'=>'required'
]);
$validatedData['password'] = bcrypt($request->password);
$user = User::create($validatedData);
// Get access token
$accessToken = $user->createToken('authToken')->accessToken;
return response(['user' => $user, 'access_token' => $accessToken]);
}
错误异常
{
"message": "Trying to get property 'secret' of non-object",
"exception": "ErrorException",
"file": "C:\\Panji\\xampp\\htdocs\\papa\\vendor\\laravel\\passport\\src\\PersonalAccessTokenFactory.php",
"line": 96,
"trace": [
{
"file": "C:\\Panji\\xampp\\htdocs\\papa\\vendor\\laravel\\passport\\src\\PersonalAccessTokenFactory.php",
"line": 96,
"function": "handleError",
"class": "Illuminate\\Foundation\\Bootstrap\\HandleExceptions",
"type": "->"
},
{
"file": "C:\\Panji\\xampp\\htdocs\\papa\\vendor\\laravel\\passport\\src\\PersonalAccessTokenFactory.php",
"line": 71,
"function": "createRequest",
"class": "Laravel\\Passport\\PersonalAccessTokenFactory",
"type": "->"
},
{
"file": "C:\\Panji\\xampp\\htdocs\\papa\\vendor\\laravel\\passport\\src\\HasApiTokens.php",
"line": 67,
"function": "make",
"class": "Laravel\\Passport\\PersonalAccessTokenFactory",
"type": "->"
},
{
"file": "C:\\Panji\\xampp\\htdocs\\papa\\app\\Http\\Controllers\\Api\\AuthController.php",
"line": 26,
"function": "createToken",
"class": "App\\User",
"type": "->"
},
{
"function": "register",
"class": "App\\Http\\Controllers\\Api\\AuthController",
"type": "->"
},
{
"file": "C:\\Panji\\xampp\\htdocs\\papa\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Controller.php",
"line": 54,
"function": "call_user_func_array"
},
{
"file": "C:\\Panji\\xampp\\htdocs\\papa\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\ControllerDispatcher.php",
"line": 45,
"function": "callAction",
"class": "Illuminate\\Routing\\Controller",
"type": "->"
},
{
"file": "C:\\Panji\\xampp\\htdocs\\papa\\vendor\\laravel\\framework\\src\\Illuminate\\Routing\\Route.php",
"line": 225,
"function": "dispatch",
"class": "Illuminate\\Routing\\ControllerDispatcher",
"type": "->"
},
.
.
.
}
我在谷歌上搜索过它,但我找不到任何提到的东西Trying to get property 'secret' of non-object
。我已经尝试过php artisan passport:install
,所以我得到了personal_access_clients
,但没有任何工作。
注意
它实际上注册了用户,但得到了这个错误响应。
解决方案
在项目中使用 Passport 时遇到了类似的错误。从移动应用程序注册用户时获取响应 - 使用 OTP 而不是密码进行注册。
对我来说,错误是由于执行 a 引起的,php artisan migrate:fresh
因为这是删除数据库中存在的所有oauth数据。
因此,只需php artisan passport:client --personal
在运行新迁移后使用,错误就解决了。
推荐阅读
- python - django-axes 失败的登录尝试不是连续的
- swift - 如何获取 SecKey 中使用的加密类型?
- asp.net - 发布 Web 应用程序时 Visual Studio 2017 崩溃
- azure - 如何找到我的 AKS 群集的服务主体机密?
- swift - 对象初始化后是否立即调用事件?
- google-bigquery - 如何可靠地达到 BQ 中的收敛点?
- wpf - SignalR aspNet 核心 .Net WPF 客户端未连接到生产环境中的服务器
- imagemagick - ImageMagick 生成损坏的 PDF 文件
- c# - C# WPF 使用来自不同用户控件的属性作为命令参数
- selenium - pip 无法安装 selenium 包