You are here

function ga_login_user_login_validate_code_needed in Google Authenticator login 6

Validate callback for login form.

Checks if the user has to use ga_login, but doesn't yet have a code.

See also

ga_login_form_alter()

1 string reference to 'ga_login_user_login_validate_code_needed'
ga_login_form_alter in ./ga_login.module

File

./ga_login.module, line 213

Code

function ga_login_user_login_validate_code_needed($form, &$form_state) {
  $name = $form_state['values']['name'];
  $code = $form_state['values']['gacode'];
  $account = user_load(array(
    'name' => $name,
  ));
  if (_ga_login_force_tfa($account) || !empty($code) || $account->uid == 1 && variable_get('ga_login_always_for_uid1', 0)) {

    // The username and password are valid, check if the user has a token.
    if ($form_state['uid'] && !isset($form_state['ga_code'])) {
      form_set_error('gacode');
      unset($_GET['destination']);
      drupal_set_message(t('You don\'t have a login code yet. This login will only work once. After you log in, you can go to your profile page to generate the GA login code.'), 'warning');
      drupal_goto(user_pass_reset_url($account));
    }
  }
}