首页 > 解决方案 > Laravel 5.8 Auth guard [api] 未定义

问题描述

当我为我的控制器使用 auth api guard 时,我面临以下异常

未定义身份验证保护 [api]

当我在请求标头中删除授权时,我的控制器工作是正确的,但是当我添加授权并接受请求标头时,我收到此错误。

我的路线:

Route::group(['prefix' => 'category','middleware' => 'auth:api'], function () {
  Route::post('add', 'Api\CategoryController@addCategory');
  Route::post('edit', 'Api\CategoryController@editCategory');
  Route::get('get/{id}', 'Api\CategoryController@getCategory');
  Route::get('get', 'Api\CategoryController@getCategory');
  Route::get('delete', 'Api\CategoryController@deleteCategory');
});

auth.php 文件:

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

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

我将 Passport::routes() 添加到 AuthServiceProvider.php 并迁移了护照迁移并安装了护照以创建护照客户端访问

我认为一切都很好,但会出错

标签: phplaravellaravel-5.8laravel-passport

解决方案


您需要清除配置缓存才能生效。对于 Unauthenticated 这意味着令牌无效或未正确传递

https://laravel.com/docs/5.7/passport#passing-the-access-token


推荐阅读