user_set_authmaps

Versions
4.6 – 7
user_set_authmaps($account, $authmaps)

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

See also

user_external_login_register()

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.

▾ 3 functions call user_set_authmaps()

openid_authentication in modules/openid/openid.module
Authenticate a user or attempt registration.
openid_user_insert in modules/openid/openid.module
Implement hook_user_insert().
user_external_login_register in 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.

Code

modules/user/user.module, line 1670

<?php
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();
    }
  }
}
?>
Login or register to post comments
 
 

All source code and documentation on this site is released under the terms of the GNU General Public License, version 2 and later. Drupal is a registered trademark of Dries Buytaert.