我使用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');
});
当我从 Postman 发布电子邮件和密码时,它将返回令牌。
当我试图进入
http://localhost/demo/public/api/v2/home
and header i passed授权承载令牌
我在 Postman 中得到以下错误
哎呀,好像出了问题。(1/1)InvalidArgumentException未定义Auth guard driver [API]。在AuthManager.php(第99行)在AuthManager->resolve('api')在AuthManager.php(第70行)在AuthManager->guard('api')在Authenticate.php(第61行)在Authenticate->authenticate(array('api'))
你能帮我修一下吗
我也检查了follwing问题,因为它的旧的一个九月27,2016 https://github.com/tymondesigns/jwt-auth/issues/860
7条答案
按热度按时间ctzwtxfj1#
尝试设置
token
:cdmah0mi2#
确保在您的kernel.php文件中声明了它,
dphi5xsq3#
不一定是答案,但这是我用过几次安装和设置JWT令牌的文章,我没有遇到任何问题。
https://medium.com/employbl/build-authentication-into-your-laravel-api-with-json-web-tokens-jwt-cd223ace8d1a
希望这能有所帮助,祝你好运!
ht4b089n4#
我通过将这一行添加到config\app.php中的提供程序来解决这个问题
mwg9r5ms5#
如果
API
保护不存在,则可能发生错误。要解决此问题,必须将API
防护设置为打开如下
来自默认注册表表单的请求将具有以下输入
fae0ux8s6#
我也有同样的问题。我通过加上
在
composer.json
的require array
中,然后运行composer install
e0bqpujr7#
如果你使用的是RoadRunner,那么你需要添加到
app/config/roadrunner.php
部分'reset_providers'
Laravel Service Prodiver for JWT auth:\PHPOpenSourceSaver\JWTAuth\Providers\LaravelServiceProvider::class
参见https://github.com/roadrunner-php/laravel-bridge/issues/15