علی عباسی
3 سال پیش توسط علی عباسی مطرح شد
0 پاسخ

گرفتن آیدی کاربر در میدلور درخواست های API

سلام . برای درخواست های api با روش jwt احراز هویت انجام میدم. یعنی api token رو بعد از لاگین میگیرم و بها هر درخواست ارسالش میکنم .
با میدلور auth:api میشه کنترل کرد کاربر هایی که لاگین کرده اند به روت ها دسترسی داشته باشند.
ولی من الان احتیاج دارم میدلور هایی بسازم که با توجه به نیازم به کاربر دسترسی بدم. منتها توی این میدلور نمیتونم آیدی کاربر رو بگیرم. با اینکه api_token رو دارم میفرستم با درخواستم

Route::group(["middleware"=>"Auth:api",function(){
    Route::get('/test/Api',function (){
        echo "testOk";
    })->middleware('DriversList')->name('testApi');
}]);
    public function handle($request, Closure $next)
    {
        if (Auth::check() && Auth::user()->id == 10) {
            // اگر آیدی کاربر برابر با 10 باشد، عملیات مورد نظر را انجام دهید
            return $next($request);
        }

        // در غیر این صورت، ارور 403 را برگردانید
        abort(403, 'Unauthorized action.');
    }