【问题标题】:Laravel Passport Unauthenticated after composer update作曲家更新后Laravel Passport未经身份验证
【发布时间】:2021-01-01 22:02:17
【问题描述】:

我已经在这个应用程序中工作了几年,在进行一些更新时,我的护照身份验证失败了。我从护照 7.2 更新到 7.5,它坏了。然后我更新到护照 8.5 仍然无法使用。

我收到 401 {error: "Unauthenticated."} 错误。

我正在使用

  • Laravel 7.28.1
  • 护照 8.5.0
  • Laravel 代客
  • PHP 7.3

我正在尝试使用我自己的 api,并且我遵循了我在互联网上找到的所有解决方案,但没有骰子。我可以使用带有访问令牌的邮递员访问路由,如果我将路由移到 auth:api 中间件之外,但我想访问 auth:api 内的路由

这是我当前的配置。

AuthServiceProvider.php

public function boot()
{
    Passport::routes();
}
protected $middlewareGroups = [
        'web' => [
            \App\Http\Middleware\EncryptCookies::class,
            ... other middleware
            \Laravel\Passport\Http\Middleware\CreateFreshApiToken::class,
        ],

        'api' => [
            'throttle:60,1',
            'bindings',
        ],
    ];

在 auth.php 中

'guards' => [
        'web' => [
            'driver' => 'session',
            'provider' => 'users',
        ],

        'api' => [
            'driver' => 'passport',
            'provider' => 'users',
            'hash' => false,
        ],
    ]
]

bootstrap.js

window.axios = require('axios');

window.axios.defaults.headers.common = {
    'X-CSRF-TOKEN' : document.querySelector('meta[name="csrf-token"]').getAttribute('content'),
    'X-Requested-With': 'XMLHttpRequest'
};

在 component.vue 文件中

axios.get('/api/users?page=' + page).then((response) => {
    //
})

我已经清除了配置并运行了 php artisan optimize:clear 以及大约一打我现在无法处理的其他事情。

任何帮助将不胜感激。

【问题讨论】:

  • “它坏了”是什么意思?会发生什么,你会得到什么错误?你检查浏览器上的控制台和 laravel 日志了吗?
  • 抱歉,不敢相信我漏掉了。我收到 401 {error: "Unauthenticated."} 错误

标签: laravel api laravel-passport


【解决方案1】:

在发布此问题时(2020 年 9 月上旬),我在 Laravel 7 和 Passport 中遇到了这个问题。我无法确定问题的确切原因,但不得不冻结我的依赖项以避免问题。在调试时,在我看来这不是 Laravel 或 Passport 的直接问题,而是子依赖项。

刚刚升级到 Laravel 8 和 Passport v10.0.1,现在一切都恢复正常了。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2018-01-05
    • 1970-01-01
    • 2019-10-07
    • 2017-09-01
    • 2018-05-02
    • 1970-01-01
    • 2019-03-02
    • 1970-01-01
    相关资源
    最近更新 更多