public function onAuthenticationSuccess(Request $request, TokenInterface $token) { $userId = $token->getUser()->id; $forbidden = AuthenticationHelper::checkLoginForbidden($request); if ($forbidden['status'] == 'error') { $exception = new AuthenticationException($forbidden['message']); throw $exception; } else { $this->getUserService()->markLoginSuccess($userId, $request->getClientIp()); } $sessionId = $request->getSession()->getId(); //$sessionId = $this->createToken($request); $this->getUserService()->rememberLoginSessionId($userId, $sessionId); if ($request->isXmlHttpRequest()) { $content = array('success' => true); return new JsonResponse($content, 200); } if ($this->getAuthService()->hasPartnerAuth()) { $url = $this->httpUtils->generateUri($request, 'partner_login'); $queries = array('goto' => $this->determineTargetUrl($request)); $url = $url . '?' . http_build_query($queries); return $this->httpUtils->createRedirectResponse($request, $url); } return parent::onAuthenticationSuccess($request, $token); }
public function onAuthenticationSuccess(Request $request, TokenInterface $token) { if ($request->isXmlHttpRequest()) { //todo: } return parent::onAuthenticationSuccess($request, $token); }
/** * {@inheritdoc} */ public function onAuthenticationSuccess(Request $request, TokenInterface $token) { if ($request->isXmlHttpRequest()) { return new JsonResponse(['success' => true, 'username' => $token->getUsername()]); } return parent::onAuthenticationSuccess($request, $token); }
/** * {@inheritDoc} */ public function onAuthenticationSuccess(Request $request, TokenInterface $token) { if ($request->isXmlHttpRequest()) { return new Response(json_encode(array('has_error' => false, 'username' => $token->getUser()->getUsername(), 'target_path' => $this->determineTargetUrl($request)))); } return parent::onAuthenticationSuccess($request, $token); }
/** * {@inheritDoc} */ public function onAuthenticationSuccess(Request $request, TokenInterface $token) { $session = $request->getSession(); $user = $token->getUser(); $session->registerAccount($user, $request, $this); return parent::onAuthenticationSuccess($request, $token); }
/** * This is called when an interactive authentication attempt succeeds. This * is called by authentication listeners inheriting from AbstractAuthenticationListener. * @param Request $request * @param TokenInterface $token * @return Response The response to return */ function onAuthenticationSuccess(Request $request, TokenInterface $token) { $user = $token->getUser(); // This should actually be handle by the AuthenticationFailedHandler if (!$user->isAdmin()) { // can't go into admin $request->getSession()->set(SecurityContextInterface::AUTHENTICATION_ERROR, new AuthenticationException('User is not an admin.')); return $this->httpUtils->createRedirectResponse($request, 'admin_login'); } \LoginAttempts::DeleteOldLoginAttempts(); \LoginAttempts::ClearLoginAttemptsForIp(); $zendAuth = \Zend_Auth::getInstance(); $this->authAdapter->setUsername($user->getUsername())->setPassword($request->request->get('_password'))->setAdmin(true); $result = $zendAuth->authenticate($this->authAdapter); $OAuthtoken = $this->userService->loginUser($user, 'oauth_authorize'); $session = $request->getSession(); $session->set('_security_oauth_authorize', serialize($OAuthtoken)); \Article::UnlockByUser($user->getId()); $request->setLocale($request->request->get('login_language')); setcookie('NO_CACHE', '1', NULL, '/', '.' . $this->extractDomain($_SERVER['HTTP_HOST'])); $user->setLastLogin(new \DateTime()); $this->em->flush(); if ($request->get('ajax') === 'true') { // close popup with login. return new Response("<script type=\"text/javascript\">window.parent.g_security_token = '" . \SecurityToken::GetToken() . "';window.parent.\$(window.parent.document.body).data('loginDialog').dialog('close');window.parent.setSecurityToken(window.parent.g_security_token);</script>"); } return parent::onAuthenticationSuccess($request, $token); }
public function onAuthenticationSuccess(Request $request, TokenInterface $token) { $user = $this->security->getToken()->getUser(); $user->setWebSocketAuthKey(uniqid()); $this->em->persist($user); $this->em->flush(); return parent::onAuthenticationSuccess($request, $token); }
/** * {@inheritDoc} */ public function onAuthenticationSuccess(Request $request, TokenInterface $token) { if ($request->isXmlHttpRequest()) { $json = array('ok' => true, 'username' => $token->getUsername()); return new \Symfony\Component\HttpFoundation\JsonResponse($json); } return parent::onAuthenticationSuccess($request, $token); }
/** * @param Request $request * @param TokenInterface $token * * @return Response */ public function onAuthenticationSuccess(Request $request, TokenInterface $token) { if ($request->isXmlHttpRequest()) { $content = array('success' => true); return new JsonResponse($content, 200); } return parent::onAuthenticationSuccess($request, $token); }
/** * {@inheritDoc} */ public function onAuthenticationSuccess(Request $request, TokenInterface $token) { if ($request->isXmlHttpRequest() || $request->getRequestFormat() !== 'html') { $json = array('username' => $token->getUsername(), 'redirectUrl' => $this->determineTargetUrl($request)); return new Response(json_encode($json)); } return parent::onAuthenticationSuccess($request, $token); }
/** * {@inheritdoc} */ public function onAuthenticationSuccess(Request $request, TokenInterface $token) { if (null !== ($user = $token->getUser())) { $user->setLastLogin(new \DateTime('now')); Kernel::getInstance()->getService('em')->flush(); } return parent::onAuthenticationSuccess($request, $token); }
/** * Constructor * @param RouterInterface $router * @param EntityManager $em */ public function __construct(RouterInterface $router, $options, EntityManager $em, Session $session, HttpUtils $httpUtils, NotificationsHelper $notificationsHelper) { parent::__construct($httpUtils, $options); $this->router = $router; $this->em = $em; $this->session = $session; $this->notificationsHelper = $notificationsHelper; }
/** * Checks if the user has actually filled in some mandatory data. If not, it redirects to the users' * profile page. * * {@inheritdoc} */ public function onAuthenticationSuccess(Request $request, TokenInterface $token) { if ($user = $token->getUser()) { if (!$user->getFirstName() || !$user->getLastName()) { return new RedirectResponse($this->router->generate('opifer_cms_user_profile')); } } return parent::onAuthenticationSuccess($request, $token); }
public function onAuthenticationSuccess(Request $request, TokenInterface $token) { $meta = $this->databaseService->getMeta($token); $startCategory = $meta->get('startCategory'); if (!empty($startCategory)) { return new RedirectResponse($this->router->generate('category', array('categorySlug' => $this->categoryService->generateUrlSlug($startCategory)))); } return parent::onAuthenticationSuccess($request, $token); }
/** * {@inheritDoc} */ public function onAuthenticationSuccess(Request $request, TokenInterface $token) { if ($request->isXmlHttpRequest()) { $response = new JsonResponse(array('code' => 200, 'username' => $token->getUsername())); } else { $response = parent::onAuthenticationSuccess($request, $token); } return $response; }
public function __construct(TokenStorageInterface $tokenStorage, NameUtils $nameUtils, CamdramUserProvider $camdramUserProvider, ExternalLoginUserProvider $externalUserProvider, UserLinker $userLinker, HttpUtils $httpUtils, $providerKey) { $this->tokenStorage = $tokenStorage; $this->nameUtils = $nameUtils; $this->camdramUserProvider = $camdramUserProvider; $this->externalUserProvider = $externalUserProvider; $this->userLinker = $userLinker; $this->setProviderKey($providerKey); parent::__construct($httpUtils, array()); }
/** * {@inheritDoc} */ public function onAuthenticationSuccess(Request $request, TokenInterface $token) { $session = $request->getSession(); $user = $token->getUser(); $session->set('admin_id', $user->getId()); if (null != ($uiLocale = $this->prefService->getPrefForName($user->getId(), 'uiLocale'))) { $session->set('_locale', $uiLocale); } return parent::onAuthenticationSuccess($request, $token); }
/** * This is called when an interactive authentication attempt succeeds. This * is called by authentication listeners inheriting from AbstractAuthenticationListener. * @param Request $request * @param TokenInterface $token * * @return Response */ public function onAuthenticationSuccess(Request $request, TokenInterface $token) { $user = $token->getUser(); $zendAuth = \Zend_Auth::getInstance(); $this->authAdapter->setEmail($user->getEmail())->setPassword($request->request->get('password')); $zendAuth->authenticate($this->authAdapter); $OAuthtoken = $this->userService->loginUser($user, 'oauth_authorize'); $session = $request->getSession(); $session->set('_security_oauth_authorize', serialize($OAuthtoken)); return parent::onAuthenticationSuccess($request, $token); }
/** * {@inheritdoc} */ public function onAuthenticationSuccess(Request $request, TokenInterface $token) { if (null !== ($user = $token->getUser())) { $user->setLastLogin(new \DateTime('now')); $this->em->flush(); } $response = parent::onAuthenticationSuccess($request, $token); if (null !== $this->rememberMeServices) { $this->rememberMeServices->loginSuccess($request, $response, $token); } return $response; }
/** * {@inheritdoc} * * Overrides event to add API token to the user's session. */ public function onAuthenticationSuccess(Request $request, TokenInterface $token) { /* * @var UserInterface Note this will return a ApiBundle\Entity\User instance; this dependence to ApiBundle * is due to the fact that this is the user class defined at the application * configuration level worry here. */ $user = $token->getUser(); $apiToken = $this->jwtManager->create($user); $request->getSession()->set('api_token', $apiToken); return parent::onAuthenticationSuccess($request, $token); }
public function register(Application $app) { $app['login.controller'] = $app->share(function () use($app) { // TODO: Pass in arguments for view template and message template return new SmsLoginController($app['sms.handler'], null, null); }); $app['security.authentication_listener.factory.sms'] = $app->protect(function ($name, $options) use($app) { $app['security.entry_point.' . $name . '.sms'] = $app->share(function () use($app, $options) { $loginPath = $app['url_generator']->generate('sms.login'); $useForward = isset($options['use_forward']) ? $options['use_forward'] : false; return new FormAuthenticationEntryPoint($app, $app['security.http_utils'], $loginPath, $useForward); }); $app['security.authentication_provider.' . $name . '.sms'] = $app->share(function () use($app, $name) { return new SmsAuthenticator($name, $app['session']->get('code'), $app['monolog']); }); $app['security.authentication_listener.' . $name . '.sms'] = $app->share(function () use($app, $name, $options) { // Create fake route for login check $loginCheckPath = $app['url_generator']->generate('sms.login') . '/check'; $options['check_path'] = $loginCheckPath; $app->match($loginCheckPath)->run(null)->bind(str_replace('/', '_', ltrim($loginCheckPath, '/'))); // Set default form item names, if not provided $options['username_parameter'] = empty($options['username_parameter']) ? 'mobile' : $options['username_parameter']; $options['password_parameter'] = empty($options['password_parameter']) ? 'code' : $options['password_parameter']; if (!isset($app['security.authentication.success_handler.' . $name])) { $app['security.authentication.success_handler.' . $name] = $app->share(function () use($name, $options, $app) { $handler = new DefaultAuthenticationSuccessHandler($app['security.http_utils'], $options); $handler->setProviderKey($name); return $handler; }); } if (!isset($app['security.authentication.failure_handler.' . $name])) { $app['security.authentication.failure_handler.' . $name] = $app->share(function () use($name, $options, $app) { return new DefaultAuthenticationFailureHandler($app, $app['security.http_utils'], $options, $app['logger']); }); } return new UsernamePasswordFormAuthenticationListener($app['security.token_storage'], $app['security.authentication_manager'], isset($app['security.session_strategy.' . $name]) ? $app['security.session_strategy.' . $name] : $app['security.session_strategy'], $app['security.http_utils'], $name, $app['security.authentication.success_handler.' . $name], $app['security.authentication.failure_handler.' . $name], $options, $app['logger'], $app['dispatcher'], isset($options['with_csrf']) && $options['with_csrf'] && isset($app['form.csrf_provider']) ? $app['form.csrf_provider'] : null); }); return ['security.authentication_provider.' . $name . '.sms', 'security.authentication_listener.' . $name . '.sms', 'security.entry_point.' . $name . '.sms', 'form']; }); }
public function onAuthenticationSuccess(Request $request, TokenInterface $token) { if ($request->isXmlHttpRequest()) { $url = $this->determineTargetUrl($request); if (!preg_match('/http/', $url)) { $url = $request->getBaseUrl() . $url; } $data = array('url' => $url); $response = new \Symfony\Component\HttpFoundation\JsonResponse($data); return $response; } else { return parent::onAuthenticationSuccess($request, $token); } }
public function onAuthenticationSuccess(Request $request, TokenInterface $token) { $lastUserPassword = $this->em->getRepository("ACSEOChangePasswordBundle:PasswordHistory")->findOneBy(array("user" => $token->getUser()), array("createdAt" => "DESC"), 1); $lastPasswordDate = $lastUserPassword->getCreatedAt(); if ($lastPasswordDate->add(new \DateInterval($this->passwordExpireAfter)) > new \Datetime()) { $session = $request->getSession(); $session->set("mustchangepassword", true); if ($this->enableFlashbagMessage) { $session->getFlashBag()->add("danger", "Votre mot de passe a expiré, vous devez en saisir un nouveau"); } $response = new RedirectResponse($this->router->generate($this->changePasswordRoute)); } return parent::onAuthenticationSuccess($request, $token); }
public function onAuthenticationSuccess(Request $request, TokenInterface $token) { try { $password = $request->get('password'); $user = $token->getUser(); AuthSuccessHandler::encryptDataKeyAndPutIntoSession($request, $user, $password, $this->saltKey); } catch (Exception $e) { $request->getSession()->invalidate(); throw new AccessDeniedException("Unexpected exception occurred."); } if ($request->isXmlHttpRequest()) { $redirectUrl = $request->getSession()->get('_security.main.target_path'); return new Response('{' . '"user": {' . '"id":"' . $user->getId() . '",' . '"role":"' . $user->getRole() . '",' . '"username":"******",' . '"isReal":"' . ($user->isReal() ? '1' : '0') . '"' . '},' . '"url":"' . $redirectUrl . '"' . '}'); } return parent::onAuthenticationSuccess($request, $token); }
public function onAuthenticationSuccess(Request $request, TokenInterface $token) { $em = $this->container->get('doctrine')->getManager(); $failureRepo = $em->getRepository('AppFrontBundle:Loginfailure'); $failureRepo->removeFailures($token->getUser(), $request->server->get('REMOTE_ADDR')); if ($request->isXmlHttpRequest()) { $response = new JsonResponse(array('success' => true, 'username' => $token->getUsername())); } else { $referer = $request->getSession()->get('_security.' . $token->getProviderKey() . '.target_path'); if ($referer) { $response = new RedirectResponse($referer); } else { $response = parent::onAuthenticationSuccess($request, $token); } } return $response; }
/** * Connect the user to Vanilla and continue to the default behavior * * @param Request $request * @param TokenInterface $token * * @return Response never null */ public function onAuthenticationSuccess(Request $request, TokenInterface $token) { $userManager = $this->vanillaKernel->getUserManager(); $sessionManager = $this->vanillaKernel->getSessionManager(); $vanillaUser = $userManager->findByUsername($token->getUsername()); if ($vanillaUser) { $vanillaUserId = $vanillaUser; } else { $builtModel = $this->userTransformer->createVanillaUser($token->getUser()); if (!$builtModel instanceof VanillaUser) { throw new \RuntimeException(sprintf('%s::createVanillaUser() must return a VanillaUser instance (%s given)', get_class($this->userTransformer), is_object($builtModel) ? get_class($builtModel) : gettype($builtModel))); } $vanillaUserId = $userManager->register($builtModel); } $sessionManager->login($vanillaUserId); $userManager->trackVisit($token->getUser()); return parent::onAuthenticationSuccess($request, $token); }
public function onAuthenticationSuccess(Request $request, TokenInterface $token) { // $this->getUserService()->markLoginInfo(); if ($request->isXmlHttpRequest()) { $content = array('success' => true); return new JsonResponse($content, 200); } $userId = $token->getUser()->id; $sessionId = $request->getSession()->getId(); $this->getUserService()->rememberLoginSessionId($userId, $sessionId); if ($this->getAuthService()->hasPartnerAuth()) { $url = $this->httpUtils->generateUri($request, 'partner_login'); $queries = array('goto' => $this->determineTargetUrl($request)); $url = $url . '?' . http_build_query($queries); return $this->httpUtils->createRedirectResponse($request, $url); } return parent::onAuthenticationSuccess($request, $token); }
public function onAuthenticationSuccess(Request $request, TokenInterface $token) { $timezone = $request->get('timezone'); $token->getUser()->setTimezone($timezone); $session = $request->getSession(); $session->set('timezone', $timezone); //date_default_timezone_set($timezone); if ($request->isXmlHttpRequest()) { $url = $this->determineTargetUrl($request); if (!preg_match('/http/', $url)) { $url = $request->getBaseUrl() . $url; } $data = array('url' => $url, 'success' => true); $response = new \Symfony\Component\HttpFoundation\JsonResponse($data); return $response; } else { return parent::onAuthenticationSuccess($request, $token); } }
public function onAuthenticationSuccess(Request $request, TokenInterface $token) { $session = $request->getSession(); $responseType = $session->get('responseType'); $redirectUrl = $session->get('redirectUrl'); // Если пришел response_type, то генерируем access token. if ($responseType !== null && $responseType == 'token') { $accessToken = new AccessToken(); $accessToken->setToken($this->tokenGenerator->generate()); $accessToken->setExpiresAt(new \DateTime('now + 1 day')); $accessToken->setUser($token->getUser()); $this->entityManager->persist($accessToken); $this->entityManager->flush(); $session->remove('responseType'); $session->remove('redirectUrl'); $response = new RedirectResponse("{$redirectUrl}?access_token={$accessToken->getToken()}"); } else { $response = parent::onAuthenticationSuccess($request, $token); } return $response; }
/** * This is called when an interactive authentication attempt succeeds. This * is called by authentication listeners inheriting from AbstractAuthenticationListener. * @param Request $request * @param TokenInterface $token * @return Response The response to return */ function onAuthenticationSuccess(Request $request, TokenInterface $token) { $form = $request->get('login_form_type'); if (isset($form['username'])) { $vars = array('ip' => $request->getClientIp(), 'username' => $form['username']); $accessSession = $this->em->getRepository('LoginCidadaoCoreBundle:AccessSession')->findOneBy($vars); if (!$accessSession) { $accessSession = new AccessSession(); $accessSession->fromArray($vars); } $accessSession->setVal(0); $this->em->persist($accessSession); $this->em->flush(); } // CPF check if ($token->getUser()->isCpfExpired()) { return $this->httpUtils->createRedirectResponse($request, 'lc_registration_cpf'); } if (strstr($token->getUser()->getUsername(), '@') !== false) { return $this->httpUtils->createRedirectResponse($request, 'lc_update_username'); } return parent::onAuthenticationSuccess($request, $token); }