<?php namespace App\Http\Middleware; use App\Models\User\User; use App\Modules\Admin\Services\AuthService; use Closure; use Illuminate\Auth\AuthenticationException; use Illuminate\Http\Request; use Illuminate\Support\Facades\Auth; class AdminAuthMiddleware { public function handle(Request $request, Closure $next) { $token = $request->header('Authorization'); if (empty($token)) { throw new AuthenticationException("need authorization"); } $uid = app(AuthService::class)->decryptToken(substr($token, 7)); $u = User::find($uid); if (is_null($u)) { return response()->json([ "code" => 401, ]); } Auth::login($u); logger()->info("admin operation log", [ "url" => $request->url(), "method" => $request->method(), "request" => $request->all(), ]); return $next($request); } }