route('token') ?? $request->header('X-Device-Token'); abort_unless(is_string($token) && $token !== '', 404); $device = $this->devices->findByToken($token); abort_unless($device && $device->type === $type, 404); $this->devices->recordHeartbeat($device); $request->attributes->set('frontdesk.device', $device->fresh()); return $next($request); } }