未定义Auth防护驱动程序[api]

问题描述 投票:5回答:3

我正在使用laravel 5.4并使用jwt auth jwt版本是jwt-auth "tymon/jwt-auth": "0.5.*"

在auth.php我有

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

        'api' => [
            'driver' => 'jwt',
            'provider' => 'users',
        ],
    ],

在Api.php我有

 Route::post('/login','HomeController@authenticate');


Route::group(['prefix' => 'v2','middleware' => 'auth:api',], function () {

    // Authentication Routes...
   Route::get('/logout','HomeController@logout');
Route::get('/home','HomeController@home');

});

当我从邮递员发布电子邮件和密码时,它将返回令牌。

当我试图访问

http://localhost/demo/public/api/v2/home

和标题我通过了授权承载令牌

我在邮递员中得到以下错误

哎呀,看起来像出事了。 (1/1)InvalidArgumentException未定义Auth防护驱动程序[api]。在AuthManager中的AuthManager.php(第99行) - > authManager.php(第70行)中的AuthManager-> guard('api')中的Authenticate.php(第61行)中的Authenticate-> authenticate(阵列( 'API'))

可以任何帮助我如何解决它

此外,我检查了以后的问题,因为其旧的2016年9月27日https://github.com/tymondesigns/jwt-auth/issues/860

php laravel laravel-5.3 jwt
3个回答
0
投票

确保你在kernel.php文件中声明了它

 protected $routeMiddleware = 

0
投票

尝试设置token

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

        'api' => [
            'driver' => 'token', // here !
            'provider' => 'users',
        ],
    ],

0
投票

不一定是答案,但这是我用过几次安装和设置JWT令牌的文章,我没有遇到任何问题。

https://medium.com/employbl/build-authentication-into-your-laravel-api-with-json-web-tokens-jwt-cd223ace8d1a

希望这有帮助,祝你好运!

© www.soinside.com 2019 - 2024. All rights reserved.