Я реализовал tymon / jwt-auth версии 1.0.0-rc4.1 в качестве стороннего в своем приложении Lumen (5.8.4) и теперь, когда продолжаю реализацию Authetication с Dingo, следуя https://github.com/dingo/api/wiki/Authentication в шаг, где мне нужно добавить это (или любой другой способ регистрации JWT с Динго)
app('Dingo\Api\Auth\Auth')->extend('jwt', function ($app) {
return new Dingo\Api\Auth\Provider\JWT($app['Tymon\JWTAuth\JWTAuth']);
});
в app.php я получаю эту ошибку
Ошибка: Цель [Dingo \ Api \ Contract \ Routing \ Adapter] не может быть создана при сборке [Dingo \ Api \ Auth \ Auth, Dingo \ Api \ Routing \ Router].
Я думаю, что я искал и пробовал все вещи, которые существуют в Интернете по этой теме, потому что я работаю над этим в течение 2 дней, и большинство из них используют старую версию динго и / или Люмена. Я также пробовал разные адаптеры, которые нашел в git, но ни один из них не работает.
Это мои настройки:
composer.json:
"require": {
"php": ">=7.1.3",
"dingo/api": "^2",
"flipbox/lumen-generator": "^5.6",
"laravel/lumen-framework": "5.8.*",
"nesbot/carbon": "^2.17",
"tymon/jwt-auth": "1.0.0-rc4.1",
"vlucas/phpdotenv": "^3.3"
}
app.php
app('Dingo\Api\Auth\Auth')->extend('jwt', function ($app) {
return new Dingo\Api\Auth\Provider\JWT($app['Tymon\JWTAuth\JWTAuth']);
}); <- this makes problem, without this everything works, I even get jwt in postman
$app->register(Tymon\JWTAuth\Providers\LumenServiceProvider::class);
$app->register(Dingo\Api\Provider\LumenServiceProvider::class);
$app->register(App\Providers\AppServiceProvider::class);
$app->register(App\Providers\AuthServiceProvider::class);
Кто-нибудь работал с реализацией на более новых версиях, или есть какой-то лучший способ сделать это?
Я попробовал один рабочий пример
https://github.com/krisanalfa/lumen-jwt но, как я видел, последнее обновление было 2 года назад, а версия Lumen - 5.4.
Должен ли я его использовать или он устарел?