/** * Authenticate all providers the user has previously authenticated with * This callback is not currently in use. It's added here for illustration purposes * * @param string $event "login" * @param string $type "user" * @param ElggUser $user User entity * @return boolean */ function elgg_hybridauth_authenticate_all_providers($event, $type, $user) { $ha_session = new \Elgg\HybridAuth\Session($user); $providers = $ha_session->getProviders(); foreach ($providers as $provider) { if (!$provider->isEnabled()) { continue; } if (!$ha_session->isAuthenticated($provider) || $ha_session->isConnected($provider)) { continue; } if (!$ha_session->authenticate($provider, false)) { register_error(elgg_echo('hybridauth:unlink:provider', array($provider))); $ha_session->removeAuthRecord($provider); } } return true; }