Laravel Passport无法验证我新生成的令牌

时间:2018-08-29 08:04:42

标签: laravel authentication token access-token laravel-passport

突然,当我尝试使用Passport 7.0.1访问Laravel 5.6.35后端中受auth:api中间件保护的端点时,我的应用程序停止工作。

问题在于它是在我注册和登录时生成的。

return Response::json([
    'token' => $user->createToken('foobar')->accessToken,
    'user' => $user
], HTTPResponse::$HTTP_OK);

失眠休息将在访问属于auth:api中间件的路由时显示以下内容。

  

“邮件”:“未经身份验证”。

它一直工作到一个小时前,在刷新数据库后它停止了。我删除并创建了一个新用户,注册了一个测试用户,然后尝试访问并通过令牌将其作为Bearer令牌并将Accept标头传递到application/json。我已经这样做了很多次,每次刷新后总是运行php artisan passport:install --force

enter image description here

我不知道该怎么解决。我在TokenGuard.php文件中看到了失败的地方,但是该怎么办?为什么突然停止了?

3 个答案:

答案 0 :(得分:0)

刷新数据库后必须重新安装护照。然后将生成唯一令牌

  

php artisan护照:安装

答案 1 :(得分:0)

问题的原因是因为我将另一个字段设置为users表的主键,并且这在Passport的自动生成的表中引起了错误。

答案 2 :(得分:0)

如果您使用的是 Apache 服务器,请将此行添加到您的 httpd.conf 文件中。

SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1