function tokenauth_init in Token authentication 6.2
Same name and namespace in other branches
- 5 tokenauth.module \tokenauth_init()
- 6 tokenauth.module \tokenauth_init()
Implementation of hook_init().
File
- ./
tokenauth.module, line 82
Code
function tokenauth_init() {
global $user;
// Process any provided token and log in user
$key = tokenauth_get_token_key();
if (user_is_anonymous() && isset($_REQUEST[$key]) && tokenauth_allowed_pages($_GET['q'])) {
if ($uid = tokenauth_get_user($_REQUEST[$key])) {
$account = user_load($uid);
if (user_access('access tokenauth', $account)) {
$user = $account;
// Store the fact that this user authenticated via token. Needed for logout.
$_SESSION['tokenauth_auth'] = TRUE;
if (function_exists('session_save_session')) {
session_save_session(FALSE);
}
elseif (function_exists('drupal_save_session')) {
drupal_save_session(FALSE);
}
watchdog('user', 'Page @page loaded for %name via token authentication.', array(
'@page' => $_GET['q'],
'%name' => $account->name,
));
}
}
// Supplied an invalid token
if (!tokenauth_is_token_authenticated()) {
drupal_access_denied();
exit;
}
}
}