我正在使用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
和标题i通过了授权承载令牌
我在邮递员中收到以下错误
哎呀,好像出了什么问题。 (1/1) InvalidArgumentException未定义Auth防护驱动程序[api]。在 AuthManager中的AuthManager.php(第99行) - >解析('api') 在AuthManager-> guard('api')中的AuthManager.php(第70行) Authenticate.php(第61行)在Authenticate-> authenticate(array('api'))
可以帮我解决问题吗
此外,我还检查了自2016年9月27日旧版以来的问题 https://github.com/tymondesigns/jwt-auth/issues/860
答案 0 :(得分:0)
确保在您的kernel.php文件中已将其声明为
protected $routeMiddleware =
答案 1 :(得分:0)
尝试设置token
:
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token', // here !
'provider' => 'users',
],
],
答案 2 :(得分:0)
不一定是答案,但这是我使用过几次安装和设置JWT令牌的文章,但没有任何问题。
希望这会有所帮助,祝你好运!