json([ 'code' => 500, 'message' => 'admin token not configured', 'data' => null, ], 500); } $incomingToken = $this->extractToken($request); if (!hash_equals($configuredToken, $incomingToken)) { return response()->json([ 'code' => 401, 'message' => 'unauthorized', 'data' => null, ], 401); } return $next($request); } private function extractToken(Request $request): string { $header = (string) $request->header('Authorization', ''); if (preg_match('/^Bearer\s+(.+)$/i', $header, $matches)) { return trim($matches[1]); } return (string) ($request->header('X-Admin-Token') ?: $request->query('admin_token') ?: $request->input('admin_token', '')); } }