/**
  * 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);
 }
Exemplo n.º 2
0
 /**
  * Log out the Vanilla user and continue to the default behavior
  *
  * @param Request        $request
  *
  * @return Response never null
  */
 public function onLogoutSuccess(Request $request)
 {
     $this->vanillaKernel->getSessionManager()->logout();
     return parent::onLogoutSuccess($request);
 }