在使用Laravel和Passport时,对于认证失败,请使用状态代码401进行响应。

4 浏览
0 Comments

在使用Laravel和Passport时,对于认证失败,请使用状态代码401进行响应。

我正在配置一个Laravel项目来使用Passport令牌认证。一切似乎都正常工作,但是当auth:api中间件失败时,它会向客户端返回200状态和一堆HTML作为响应体。相反,我希望它返回401状态。

我在Laravel Passport的源代码或文档中找不到任何关于如何做到这一点的信息。我甚至找不到中间件的源代码。

我的测试路由:

Route::get('/protected', function () {
    return response()->json([
        'success' => true
    ]);
})->middleware('auth:api');

config/auth.php

'guards' => [
    'web' => [
        'driver' => 'session',
        'provider' => 'users',
    ],
    'api' => [
        'driver' => 'passport',
        'provider' => 'appUsers',
    ],
],
'providers' => [
    'users' => [
        'driver' => 'eloquent',
        'model' => App\Models\User::class,
    ],
    'appUsers' => [
        'driver' => 'eloquent',
        'model' => App\Models\AppUser::class
    ],
],

0