function user_external_login_register

Helper function for authentication modules. Either logs in or registers the current user, based on username. Either way, the global $user object is populated and login tasks are performed.

File

modules/user/user.module, line 2363

Code

function user_external_login_register($name, $module) {
    $account = user_external_load($name);
    if (!$account) {
        // Register this new user.
        $userinfo = array(
            'name' => $name,
            'pass' => user_password(),
            'init' => $name,
            'status' => 1,
            'access' => REQUEST_TIME,
        );
        $account = user_save(drupal_anonymous_user(), $userinfo);
        // Terminate if an error occurred during user_save().
        if (!$account) {
            drupal_set_message(t("Error saving user account."), 'error');
            return;
        }
        user_set_authmaps($account, array(
            "authname_{$module}" => $name,
        ));
    }
    // Log user in.
    $form_state['uid'] = $account->uid;
    user_login_submit(array(), $form_state);
}

Buggy or inaccurate documentation? Please file an issue. Need support? Need help programming? Connect with the Drupal community.