function user_set_authmaps

Save mappings of which external authentication module(s) authenticated a user. Maps external usernames to user ids in the users table.

Parameters

$account: A user object.

$authmaps: An associative array with a compound key and the username as the value. The key is made up of 'authname_' plus the name of the external authentication module.

See also

user_external_login_register()

3 calls to user_set_authmaps()
openid_user_insert in drupal/core/modules/openid/openid.module
Implements hook_user_insert().
UserAuthmapAssignmentTest::testAuthmapAssignment in drupal/core/modules/user/lib/Drupal/user/Tests/UserAuthmapAssignmentTest.php
Test authmap assignment and retrieval.
user_external_login_register in drupal/core/modules/user/user.module
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

drupal/core/modules/user/user.module, line 1440
Enables the user registration and login system.

Code

function user_set_authmaps($account, $authmaps) {
  foreach ($authmaps as $key => $value) {
    $module = explode('_', $key, 2);
    if ($value) {
      db_merge('authmap')
        ->key(array(
        'uid' => $account->uid,
        'module' => $module[1],
      ))
        ->fields(array(
        'authname' => $value,
      ))
        ->execute();
    }
    else {
      db_delete('authmap')
        ->condition('uid', $account->uid)
        ->condition('module', $module[1])
        ->execute();
    }
  }
}