function user_set_authmaps
7.x user.module | user_set_authmaps($account, $authmaps) |
6.x user.module | 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.
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-7.x/
modules/ openid/ openid.module - Implements hook_user_insert().
- UserAuthmapAssignmentTestCase::testAuthmapAssignment in drupal-7.x/
modules/ user/ user.test - Test authmap assignment and retrieval.
- user_external_login_register in drupal-7.x/
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-7.x/
modules/ user/ user.module, line 2045 - 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();
}
}
}