【问题标题】:Laravel 5.3 Personal access token 500Laravel 5.3 个人访问令牌 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 它应该记录在某处..
  • @FabianTjoeAOn 如果您使用的是 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; } }

标签: php laravel laravel-passport


【解决方案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

    【讨论】:

      猜你喜欢
      • 2017-12-15
      • 2020-04-09
      • 2017-05-23
      • 2019-06-06
      • 2017-02-11
      • 1970-01-01
      • 2017-03-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多