getProviders())) {
// Store the provider for the callback event
$storage->set('provider', $url_params['provider']);
} else {
$error = $url_params['provider'];
}
}
//
// Event 2: User clicked LOGOUT link
//
if (isset($url_params['logout'])) {
if (in_array($url_params['logout'], $hybridauth->getProviders())) {
// Disconnect the adapter
$adapter = $hybridauth->getAdapter($url_params['logout']);
$adapter->disconnect();
} else {
$error = $url_params['logout'];
}
}
//
// Handle invalid provider errors
//
if ($error !== false) {
error_log('HybridAuth Error: Provider ' . json_encode($error) . ' not found or not enabled in $config');
// Close the pop-up window
echo "
";
exit;
}
//
// Event 3: Provider returns via CALLBACK
//
if ($url_params['provider'] = $storage->get('provider')) {
$hybridauth->authenticate($url_params['provider']);
die('OK!');
$storage->set('provider', null);
// Retrieve the provider record
$adapter = $hybridauth->getAdapter($url_params['provider']);
Dumper::dump($adapter->getUserProfile());
Dumper::dump($adapter->getAccessToken());
\MVC\Classe\Session::start();
\MVC\Classe\Session::setUserProfile($adapter->getUserProfile());
\MVC\Classe\Session::setToken($adapter->getAccessToken());
// Close pop-up window
echo <<
window.opener.location.assign('compte');
self.close();
EOD;
}
} catch (Exception $e) {
error_log($e->getMessage());
echo $e->getMessage();
}