/** * @param User $user * @return Session */ private function createSession(User $user) { $request = Request::createFromGlobals(); $ua = $request->headers->get('User-Agent'); $detector = new DeviceDetector($ua); $detector->skipBotDetection(true); $detector->parse(); $session = new Session(); $session->setToken(self::generateToken()); $session->setUser($user); $session->setBrowser($detector->getClient('name')); $session->setOs($detector->getOs('name')); $session->setDevice($detector->getDeviceName()); $session->setLocation($this->getLocation()); $session->save(); return $session; }