Spaces:
No application file
No application file
| namespace Mautic\ApiBundle\Controller\oAuth2; | |
| use Mautic\CoreBundle\Controller\CommonController; | |
| use Symfony\Component\HttpFoundation\Request; | |
| use Symfony\Component\HttpFoundation\Response; | |
| use Symfony\Component\Security\Core\Exception; | |
| use Symfony\Component\Security\Core\Security; | |
| class SecurityController extends CommonController | |
| { | |
| public function loginAction(Request $request): Response | |
| { | |
| $session = $request->getSession(); | |
| // get the login error if there is one | |
| if ($request->attributes->has(Security::AUTHENTICATION_ERROR)) { | |
| $error = $request->attributes->get(Security::AUTHENTICATION_ERROR); | |
| } else { | |
| $error = $session->get(Security::AUTHENTICATION_ERROR); | |
| $session->remove(Security::AUTHENTICATION_ERROR); | |
| } | |
| if (!empty($error)) { | |
| if ($error instanceof Exception\BadCredentialsException) { | |
| $msg = 'mautic.user.auth.error.invalidlogin'; | |
| } else { | |
| $msg = $error->getMessage(); | |
| } | |
| $this->addFlashMessage($msg, [], 'error', null, false); | |
| } | |
| if ($session->has('_security.target_path')) { | |
| if (str_contains($session->get('_security.target_path'), $this->generateUrl('fos_oauth_server_authorize'))) { | |
| $session->set('_fos_oauth_server.ensure_logout', true); | |
| } | |
| } | |
| return $this->render( | |
| '@MauticApi/Security/login.html.twig', | |
| [ | |
| 'last_username' => $session->get(Security::LAST_USERNAME), | |
| 'route' => 'mautic_oauth2_server_auth_login_check', | |
| ] | |
| ); | |
| } | |
| public function loginCheckAction(): Response | |
| { | |
| return new Response('', 400); | |
| } | |
| } | |