我在 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。任何帮助都将是非常可观的。