【问题标题】:Laravel Passport is failing to validate my newly generated tokenLaravel Passport 无法验证我新生成的令牌
【发布时间】:2019-02-03 22:47:56
【问题描述】:

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

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

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

Insomnia rest 在访问属于auth:api 中间件的路由时会显示以下内容。

“消息”:“未经身份验证。”

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

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

【问题讨论】:

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


    【解决方案1】:

    问题的原因是因为我将另一个字段设置为 users 表的主键,这导致 Passport 的自动生成表出现错误。

    【讨论】:

      【解决方案2】:

      刷新数据库后必须重新安装passport,才会生成Token

      php工匠护照:安装

      【讨论】:

      • 抱歉没有提及。
      【解决方案3】:

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

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

      【讨论】:

        猜你喜欢
        • 2021-03-14
        • 2019-03-24
        • 2019-07-27
        • 2020-11-04
        • 1970-01-01
        • 1970-01-01
        • 2021-06-10
        • 2020-10-17
        • 1970-01-01
        相关资源
        最近更新 更多