/**
* Ask for Google authentication code.
*
* @param AuthenticationContext $context
*
* @return Response|null
*/
public function requestAuthenticationCode(AuthenticationContext $context)
{
$user = $context->getUser();
$request = $context->getRequest();
$session = $context->getSession();
// Display and process form
$authCode = $request->get($this->authCodeParameter);
if ($authCode !== null) {
if ($this->authenticator->checkCode($user, $authCode)) {
$context->setAuthenticated(true);
return new RedirectResponse($request->getUri());
} else {
$session->getFlashBag()->set('two_factor', 'scheb_two_factor.code_invalid');
}
}
// Force authentication code dialog
return $this->templating->renderResponse($this->formTemplate, array('useTrustedOption' => $context->useTrustedOption()));
}