سلام دوستان. من میخوام یه وب سرویس با لاروال بنویسم و خب طبیعتا با authentication داشته باشه. من میخوام از tymon/jwt-auth استفاده کنم. ورژن لارول 5.7 هست و دایرکتوری کنترل های وب سرویس هم به این شکله: app\http\controllers\api\v1\authcontroller.php
با استفاده از دستورات زیر پکیج رو نصب کردم:
'''
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,
];
'''
از اونجایی که از لاراول 5.7 استفاده میکنم دیگه چیزی رو به فایل config/app.php اضافه نکردم.
حالا وقتی میخوام توی کنترلر از jwtauth استفاده کنم به این شکل:
'''
use JWTAuth;
'''
ارور میده که همچین کلاس رو نمیشناسه!!!
مشکل از کجاست؟
سلام نمیدونم چرا ولی این پکیج باید مثل ورژن های قدیمی دستی اضافه کنین خودش اضافه نمیکنه پس حتما تو config/app مقدار aliasesش رو اضافه کنین
'aliases' => [
...
'JWTAuth' => Tymon\JWTAuth\Facades\JWTAuth::class,
'JWTFactory' => Tymon\JWTAuth\Facades\JWTFactory::class,
],
وداخل config/auth.php هم مقدار api driver رو تغییر بدید به jwt مثل زیر
'guards' => [
'web' => [
'driver' => 'session',
'provider' => 'users',
],
'api' => [
'driver' => 'jwt',
'provider' => 'users',
],
],
اگه اوکی نشد بگید بیشتر بررسی کنم شاید من جایی رو یادم رفته باشه بگم اضافه کنید
کار نکرد متاسفانه. الان دو روزه چندین بار ورژن های مختلف tymon/jwt-auth رو نصب میکنم و تنظیمات رو عوض میکنم ولی بازم آخرش میگه نمیشناسه!!!! توی بعضی موارد هم که میشناسه میگه یه متدی مثل attempt() تعریف نشده س !!!!!
آیا مایل به ارسال نوتیفیکیشن و اخبار از طرف راکت هستید ؟