function miniorange_2fa_form_alter in Google Authenticator / 2 Factor Authentication - 2FA 8
Same name and namespace in other branches
- 8.2 miniorange_2fa.module \miniorange_2fa_form_alter()
File
- ./
miniorange_2fa.module, line 16 - Module file for miniOrange 2FA Module.
Code
function miniorange_2fa_form_alter(&$form, \Drupal\Core\Form\FormStateInterface $form_state, $form_id) {
if ($form_id == 'user_login_block' || $form_id == 'user_login_form' || $form_id == 'user_profile_form') {
if (MoAuthUtilities::isCustomerRegistered()) {
$loginSettings = \Drupal::config('miniorange_2fa.settings')
->get('mo_auth_enable_two_factor');
if ($loginSettings && !MoAuthUtilities::check_white_IPs()) {
\Drupal::service('page_cache_kill_switch')
->trigger();
$only_2nd_factor = \Drupal::config('miniorange_2fa.settings')
->get('mo_auth_use_only_2nd_factor');
$use_pass = \Drupal::config('miniorange_2fa.settings')
->get('mo_auth_2fa_use_pass');
if ($only_2nd_factor and !isset($use_pass)) {
$output = array_diff_key($form, array_flip((array) [
'pass',
]));
$output1 = array_diff_key($output, array_flip((array) [
'actions',
]));
$output2 = array_diff_key($output1, array_flip((array) [
'#validate',
]));
$form = $output2;
$form['minorange_login_tfa'] = array(
'#type' => 'submit',
'#value' => t('Login with 2nd Factor'),
'#submit' => array(
'miniorange_2fa_form_alter_submit',
),
'#prefix' => '<br><br><br>',
);
}
else {
array_unshift($form['#submit'], 'miniorange_2fa_form_alter_submit');
\Drupal::configFactory()
->getEditable('miniorange_2fa.settings')
->clear('mo_auth_2fa_use_pass')
->save();
}
}
}
}
}