示例#1
0
文件: start.php 项目: n8b/VMN
/**
 * 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;
}