突然,当我尝试使用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
。
我不知道该怎么解决。我在TokenGuard.php
文件中看到了失败的地方,但是该怎么办?为什么突然停止了?
答案 0 :(得分:0)
刷新数据库后必须重新安装护照。然后将生成唯一令牌
php artisan护照:安装
答案 1 :(得分:0)
问题的原因是因为我将另一个字段设置为users
表的主键,并且这在Passport的自动生成的表中引起了错误。
答案 2 :(得分:0)
如果您使用的是 Apache 服务器,请将此行添加到您的 httpd.conf 文件中。
SetEnvIf Authorization "(.*)" HTTP_AUTHORIZATION=$1