Laravel 5.3 个人访问令牌 500
Posted
技术标签:
【中文标题】Laravel 5.3 个人访问令牌 500【英文标题】:Laravel 5.3 Personal access token 500 【发布时间】:2017-03-26 13:54:18 【问题描述】:我正在尝试使用 Passport 设置我的自定义 API(好吧,我已经完成了一半,只需要构建我的身份验证)。每当我尝试从我的 Passport 仪表板(/home 路由)创建个人访问令牌时,我都会收到“哎呀,出了点问题!”错误。
这来自我的 Vue 组件 (PersonalAccessTokens.vue),我的控制台在 Post 路由中记录了一个 500 内部服务器错误,用于存储个人访问令牌...
\Laravel\Passport\Http\Controllers\PersonalAccessTokenController@store 是负责的方法,但我似乎无法找到不寻常的东西,因为我完全按照关于 Passport 的 Laracasts 视频进行操作
还有其他人遇到这个问题吗?
TIA!
【问题讨论】:
错误日志中的错误是什么...? 没什么,错误来自我的 Vue 组件,我猜应该是在 /logs 目录中吧?假设服务器返回 500 它应该记录在某处.. @F***TjoeAOn 如果您使用的是 chrome 打开开发者控制台,请转到network
选项卡,然后执行请求。您应该会看到刚刚执行的请求。单击它,然后从该请求的选项卡中选择preview
。这个,或者只是看看storage/log/laravel.log
并查看堆栈跟踪:)
哇,谢谢,我的日志是空的,但不知道您可以像这样使用网络选项卡。它说“ClientRepository.php 第 66 行中的 ErrorException:试图获取非对象的属性”。其中指函数personalAccessClient(): public function personalAccessClient() if (Passport::$personalAccessClient) return Client::find(Passport::$personalAccessClient); else return PersonalAccessClient::orderBy('id', 'desc')->first()->client;
【参考方案1】:
我想通了。
显然它无法读取我的个人访问令牌客户端,您应该在使用以下命令设置 Passport 时生成:php artisan passport:install
运行这个命令解决了我的问题。
参考: https://laracasts.com/discuss/channels/laravel/create-personal-access-token-in-laravel-passport-is-failing
【讨论】:
【参考方案2】:更多关于这方面的信息,因为我遇到了同样的问题。你需要运行:
php artisan passport:install
每次您通过以下方式刷新迁移时:
php artisan migrate:refresh
为了解决这个问题,我刚刚向package.json
添加了一个使用npm-run-all 的脚本,所以我可以在一个命令中完成:
"scripts":
// Other scripts
"migrate:refresh": "php artisan migrate:refresh",
"passport:install": "php artisan passport:install",
"db:refresh": "npm-run-all --sequential migrate:refresh passport:install"
现在我可以这样做了:
npm run db:refresh
【讨论】:
以上是关于Laravel 5.3 个人访问令牌 500的主要内容,如果未能解决你的问题,请参考以下文章