extractToken($request); abort_unless(is_string($token) && $token !== '', 401, 'Device token required.'); $device = $this->devices->findByToken($token); abort_unless($device, 401, 'Invalid device token.'); $request->attributes->set('care.device', $device); return $next($request); } protected function extractToken(Request $request): ?string { $header = $request->header('X-Care-Device-Token'); if (is_string($header) && $header !== '') { return $header; } // Compatibility with Frontdesk-style header. $legacy = $request->header('X-Device-Token'); if (is_string($legacy) && $legacy !== '') { return $legacy; } $bearer = $request->bearerToken(); if (is_string($bearer) && $bearer !== '') { return $bearer; } $input = $request->input('token'); return is_string($input) && $input !== '' ? $input : null; } }