Perform standard Drupal login operations for a user object.

The user object must already be authenticated. This function verifies that the user account is not blocked/denied and then performs the login, updates the login timestamp in the database, invokes hook_user('login'), and regenerates the session.

Parameters

$account: An authenticated user object to be set as the currently logged in user.

$edit: The array of form values submitted by the user, if any. This array is passed to hook_user op login.

Return value

boolean TRUE if the login succeeds, FALSE otherwise.

1 call to user_external_login()
openid_authentication in modules/openid/openid.module
Authenticate a user or attempt registration.

File

modules/user/user.module, line 118
Enables the user registration and login system.

Code

function user_external_login($account, $edit = array()) {
  $form = drupal_get_form('user_login');
  $state['values'] = $edit;
  if (empty($state['values']['name'])) {
    $state['values']['name'] = $account->name;
  }

  // Check if user is blocked or denied by access rules.
  user_login_name_validate($form, $state, (array) $account);
  if (form_get_errors()) {

    // Invalid login.
    return FALSE;
  }

  // Valid login.
  global $user;
  $user = $account;
  user_authenticate_finalize($state['values']);
  return TRUE;
}