1

我在 API 调用中使用自定义身份验证中间件,我想获取登录的用户 ID。

这是我的路线:

Route::group(['middleware' => ['api', 'shopper']], function () {

        Route::post('shopper/revieworder', 'ShoppersController@reviewOrder');
}

这是我的中间件代码:

<?php

namespace App\Http\Middleware;

use Closure;
use Response;

class ShopperMiddleware
{
    /**
     * Handle an incoming request.
     *
     * @param  \Illuminate\Http\Request $request
     * @param  \Closure                 $next
     *
     * @return mixed
     */
    public function handle($request, Closure $next)
    {
        $data = array();
        $data['token'] = $request->header('token');
        $shoperValidationService
            = resolve('App\Services\Validations\ShopperValidationService');
        $responseService = resolve('App\Services\ResponseService');
        $shopperRepo = resolve('App\Repositories\ShopperRepository');
        $shoperValidationService->middleware($data);
        $shopper = $shopperRepo->byToken($data['token']);
        if (!$shopper) {
            return $responseService->$this->response->fail('Invalid Token');
        }
        $request->merge([
            "shopper_id" => $shopper->id,
            "vendor_id" => $shopper->vendor_id,
        ]);
        return $next($request);
    }
}

我想在“reviewOrder”函数中获取记录的用户 ID。任何帮助都将是非常可观的。

4

0 回答 0