Laravel Passport 错误 - RequestException.php 第 107 行中的 ServerException

Posted

技术标签:

【中文标题】Laravel Passport 错误 - RequestException.php 第 107 行中的 ServerException【英文标题】:Laravel Passport Error - ServerException in RequestException.php line 107 【发布时间】:2017-02-03 01:16:06 【问题描述】:

请帮忙。

我按照教程 What's New in Laravel 5.3: Laravel Passport (https://laracasts.com/series/whats-new-in-laravel-5-3/episodes/13) 一步一步地学习,但我遇到了这个错误:

RequestException.php 第 107 行中的 ServerException: 服务器错误:POST http://latest.dev/oauth/token 导致 500 Internal Server Error 响应: SQLSTATE [42S02]:未找到基表或视图:1146 表“consumer.oauth_clients”不存在(SQL:select * from `oa(截断...)

consumer.dev

使用 Illuminate\Http\Request; 路线::get('/', function () $query = http_build_query([ 'client_id' => 4, 'redirect_uri' => 'http://consumer.dev/callback', 'response_type' => '代码', '范围' => '', ]); return redirect('http://latest.dev/oauth/authorize?'.$query); ); Route::get('/callback', function(Request $request) $http = 新的 GuzzleHttp\Client; $response = $http->post('http://latest.dev/oauth/token', [ 'form_params' => [ 'grant_type' => 'authorization_code', 'client_id' => 4, 'client_secret' => 'a8OifFPH38rMi1I6vjmV3O8XD55hAk2FG4f95j9W', 'redirect_uri' => 'http://consumer.dev/callback', '代码' => $request-> 代码, ], ]); 返回 json_decode((string) $response->getBody(), true); );

【问题讨论】:

您能否确认您已检查您是否拥有护照所需的迁移,并且您运行了 artisan migrate? @tam 我在 consumer.dev 项目中遵循了完全相同的步骤: composer 需要 laravel/passport、迁移、passport:install。基本上,创建两个几乎相同的项目。现在它工作正常。它解决了我的问题,但我不知道是否是最好的解决方案。 Taylor 应该解释我们需要在 consumer.dev 项目上创建哪些表(对于像我这样的初学者)。我们需要在两个项目中使用相同的表格吗?我们需要遵循相同的步骤吗?谢谢! 我遇到了像你这样的问题..你解决了吗? @DanielListyoEmanuel 在 consumer.dev 上执行相同的步骤,而不是迁移。如果您为两个项目(oauth_clients、oauth_access_tokens 等)创建相同的表,它就可以工作。 【参考方案1】:

运行以下命令

php artisan serve

并将 URL 链接替换为由 artisan serve 命令创建的新 URL。 再试一次 - 然后它会工作。

【讨论】:

以上是关于Laravel Passport 错误 - RequestException.php 第 107 行中的 ServerException的主要内容,如果未能解决你的问题,请参考以下文章

Laravel 和 Passport,随机 401 错误

Laravel 5.3 Passport - Vue 错误:评估表达式时出错

实时主机上的Laravel Passport安装错误[重复]

req.session.passport 为空,未调用 deserializeUser - ExpressJS,Passport

Passport.authenticate 导出-> passport.authenticate(一些东西)(req,res,next)?

Laravel Passport 得到“无法解析您的密钥,原因:升级到 PHP8.0 后出现“”错误