Files
kupshop/bundles/KupShop/TwoFactorBundle/Controller/TwoFactorController.php
2025-08-02 16:30:27 +02:00

51 lines
1.4 KiB
PHP

<?php
declare(strict_types=1);
namespace KupShop\TwoFactorBundle\Controller;
use KupShop\KupShopBundle\Routing\TranslatedRoute;
use KupShop\TwoFactorBundle\View\TwoFactorView;
use KupShop\UserBundle\View\LoginView;
use Scheb\TwoFactorBundle\Model\Email\TwoFactorInterface;
use Scheb\TwoFactorBundle\Security\TwoFactor\Provider\Email\Generator\CodeGeneratorInterface;
use Symfony\Bundle\FrameworkBundle\Controller\AbstractController;
use Symfony\Bundle\SecurityBundle\Security;
use Symfony\Component\HttpFoundation\RedirectResponse;
use Symfony\Component\HttpFoundation\Request;
use Symfony\Component\Routing\Annotation\Route;
class TwoFactorController extends AbstractController
{
/**
* @TranslatedRoute("/#2fa_check#/")
*/
public function twoFactorAction(TwoFactorView $view)
{
return $view->getResponse();
}
/**
* @Route("/2fa_resend")
*/
public function resendTwoFactorAction(CodeGeneratorInterface $codeGenerator, Security $security)
{
$user = $security->getUser();
if ($user instanceof TwoFactorInterface) {
$codeGenerator->reSend($user);
}
return new RedirectResponse(path('2fa_login'));
}
/**
* @Route("/login/check")
*/
public function checkAction(Request $request, LoginView $view)
{
$view->setRequest($request);
return $view->getResponse();
}
}