我正在使用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
确保你在kernel.php文件中声明了它
protected $routeMiddleware =
尝试设置token
:
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'token', // here !
'provider' => 'users',
],
],
不一定是答案,但这是我用过几次安装和设置JWT令牌的文章,我没有遇到任何问题。
希望这有帮助,祝你好运!