Подскажите пожалуйста как вернуть json объект после успешной авторизации в Symfony2/3?
Мой контроллер выглядет так:
class ClientLoginController extends Controller
{
/**
* @Route("/login", name="login")
*/
public function loginAction(Request $request)
{
$client = new Client();
$form = $this->createForm(ClientLoginType::class, $client);
$form->handleRequest($request);
$authenticationUtils = $this->get('security.authentication_utils');
$lastEmail = $authenticationUtils->getLastUsername();
$error = $authenticationUtils->getLastAuthenticationError();
if ($form->isSubmitted() && $form->isValid())
{
return new JsonResponse(
array(
'message' => 'Success! Animal registered!',
'result' => $this->renderView('SymfonyBundle::client/success.html.twig')
), 200);
}
return $this->render(
'SymfonyBundle::security/security.html.twig',
array(
'login_form' => $form->createView(),
'error' => $error,
'last_email' => $lastEmail,
)
);
}
}
В security.yml настройка формы выглядет так:
form_login:
login_path: login
check_path: login
username_parameter: _email
failure_forward: false
default_target_path: login
csrf_token_generator: security.csrf.token_manager
В итоге, после успешной авторизации меня просто редиректит на саму страницу авторизации, а вот json объект я не получаю.
По идее, if ($form->isSubmitted() && $form->isValid()), вроде как должно определить что форма валидная и была отправлена.
Подскажите как такое разрулить?