function miniorange_2fa_inline_registration::handle_page_otp_validate_submit in Google Authenticator / 2 Factor Authentication - 2FA 8
Same name and namespace in other branches
- 8.2 src/Form/miniorange_2fa_inline_registration.php \Drupal\miniorange_2fa\form\miniorange_2fa_inline_registration::handle_page_otp_validate_submit()
File
- src/
Form/ miniorange_2fa_inline_registration.php, line 1282
Class
Namespace
Drupal\miniorange_2fa\formCode
function handle_page_otp_validate_submit(array $form, \Drupal\Core\Form\FormStateInterface $form_state) {
$storage = $form_state
->getStorage();
$input = $form_state
->getUserInput();
$otp_code = $input['mo_auth_otpoversms_code'];
$form_state
->setRebuild();
$challenge_response = $storage[0]['user_challenge_response'];
$validate_response = $this
->validate_otp_for_user($challenge_response->txId, $otp_code);
if ($validate_response->status == 'SUCCESS') {
$page = [
'page_five' => TRUE,
'page_otp_validate_values' => $form_state
->getValues(),
'page_four_values' => $storage['page_four_values'],
'page_three_values' => $storage['page_three_values'],
'page_two_values' => $storage['page_two_values'],
'page_one_values' => $storage['page_one_values'],
];
$_SESSION['success_status'] = TRUE;
$form_state
->setStorage($page);
return;
}
elseif ($validate_response->status == 'FAILED') {
//Retain All the values
$page = [
'page_otp_validate' => TRUE,
'page_four_values' => $storage['page_four_values'],
[
'user_challenge_response' => $storage[0]['user_challenge_response'],
],
'page_three_values' => $storage['page_three_values'],
'page_two_values' => $storage['page_two_values'],
'page_one_values' => $storage['page_one_values'],
];
$_SESSION['message'] = 'INVALID OTP';
$_SESSION['success_status'] = FALSE;
$form_state
->setStorage($page);
$form_state
->setRebuild();
return;
}
}