/** * @Route("/vk/register_in_naidusvoe/{social_uid}/{social_u_field}", name="social_register") * @param Request $request * @param String $social_uid * @param String $social_u_field * @return Response */ public function SocialRegisterAction(Request $request, $social_uid, $social_u_field) { /** @var EntityManager $em */ $em = $this->getDoctrine()->getManager(); $password = md5(uniqid(rand(), true)); $parameters = array($social_u_field => $social_uid, 'email' => $request->request->get('email'), 'username' => $social_u_field . "_" . $social_uid, 'password' => $password); $user = User::addUser($em, $this->get('security.encoder_factory'), $parameters); $token = new UsernamePasswordToken($user, null, "secured_area", $user->getRoles()); $this->get('security.token_storage')->setToken($token); $event = new InteractiveLoginEvent($request, $token); $this->get("event_dispatcher")->dispatch("security.interactive_login", $event); return $this->redirectToRoute('naidusvoe_homepage'); }