jwtauth в веб-сервисе laravel не работает - PullRequest
0 голосов
/ 26 февраля 2019

Я пишу веб-сервис с Laravel.Я хочу добавить аутентификацию JWT к нему.мои контроллеры для API находятся в каталоге

app \ http \ controllers \ api \ v1 \ AuthController.php

проекта.моя версия проекта Laravel - 5.7.я использовал эти команды для установки и настройки пакета:

composer require tymon/jwt-auth:dev-develop --prefer-source

, а затем

php artisan vendor:publish --provider="Tymon\JWTAuth\Providers\LaravelServiceProvider"

и

php artisan jwt:secret

, наконец, я добавил следующее в app \ kernel.php

protected $routeMiddleware = [
....
'auth.jwt' => \Tymon\JWTAuth\Http\Middleware\Authenticate::class,

];

, так как я использую laravel 5.7, я ничего не добавил в файл config / app.php.теперь я хочу использовать JWTAuth в своих контроллерах, и когда я использую JWTAuth, как показано ниже:

use JWTAuth;

появляется сообщение об ошибке: Undefined class JWTAuth ...

я переустанавливал его и несколько раз делал dum-autload композитора, но не работал.что я делаю не так?

Ответы [ 3 ]

0 голосов
/ 26 февраля 2019

Для версий менее 5.5 вы также должны указать поставщика услуг и псевдоним в файле config/app.php.

'providers' => [
    ....
    Tymon\JWTAuth\Providers\JWTAuthServiceProvider::class,
    ....
],
'aliases' => [
    ....
    'JWTAuth' => Tymon\JWTAuth\Facades\JWTAuth::class,
    'JWTFactory' => 'Tymon\JWTAuth\Facades\JWTFactory',
    ....
],

Если вы используете версию 5.5 или выше, laravel делает это автоматически с помощью Package Auto-Discovery.

0 голосов
/ 05 мая 2019

В вашем app\Http\Middleware\JwtMiddleware.php вместо этого

use JWTAuth;

используйте это

use Tymon\JWTAuth\Facades\JWTAuth;

Но убедитесь, что вы уже включили этот фасад в файл app.php

0 голосов
/ 26 февраля 2019

в файле конфигурации app.php, под массивом aliases, вы можете добавить фасад JWTAuth.

'JWTAuth' => 'Tymon\JWTAuth\Facades\JWTAuth'

или

'JWTAuth' => Tymon\JWTAuth\Facades\JWTAuth::class
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...