Hybrid_Auth::setup PHP Method

setup() public static method

Setup an adapter for a given provider
public static setup ( string $providerId, array $params = null ) : Hybrid_Provider_Adapter
$providerId string ID of the provider
$params array Adapter params
return Hybrid_Provider_Adapter
    public static function setup($providerId, $params = null)
    {
        Hybrid_Logger::debug("Enter Hybrid_Auth::setup( {$providerId} )", $params);
        if (!$params) {
            $params = Hybrid_Auth::storage()->get("hauth_session.{$providerId}.id_provider_params");
            Hybrid_Logger::debug("Hybrid_Auth::setup( {$providerId} ), no params given. Trying to get the stored for this provider.", $params);
        }
        if (!$params) {
            $params = array();
            Hybrid_Logger::info("Hybrid_Auth::setup( {$providerId} ), no stored params found for this provider. Initialize a new one for new session");
        }
        if (is_array($params) && !isset($params["hauth_return_to"])) {
            $params["hauth_return_to"] = Hybrid_Auth::getCurrentUrl();
            Hybrid_Logger::debug("Hybrid_Auth::setup( {$providerId} ). HybridAuth Callback URL set to: ", $params["hauth_return_to"]);
        }
        # instantiate a new IDProvider Adapter
        $provider = new Hybrid_Provider_Adapter();
        $provider->factory($providerId, $params);
        return $provider;
    }

Usage Example

Esempio n. 1
0
 public function socialAction()
 {
     // hack to import all GLOBAL_HYBRID_ into global namespace
     foreach (token_get_all(file_get_contents(APPLICATION_PATH . '/../hybridauth/hybridauth.php')) as $token) {
         if ($token[0] == T_VARIABLE) {
             $var = substr($token[1], 1);
             if (strstr($var, 'GLOBAL_HYBRID_AUTH_') !== FALSE) {
                 global ${$var};
             }
         }
     }
     require_once APPLICATION_PATH . '/../hybridauth/hybridauth.php';
     $hauth = new Hybrid_Auth();
     if ($hauth->hasError()) {
         var_dump($hauth->getErrorMessage());
         exit;
     }
     if (!$hauth->hasSession()) {
         $adapter = $hauth->setup($this->_getParam('provider'), array('hauth_return_to' => 'http:///auth/social/provider/' . $this->_getParam('provider')));
         $adapter->login();
     } else {
         $adapter = $hauth->wakeup();
         $userData = $adapter->user();
         $adapter = $this->_helper->service('auth.adapter.social');
         $adapter->setProvider($userData->providerId)->setProviderUserId($userData->providerUID);
         $result = $this->auth->authenticate($adapter);
         if ($result->getCode() == Zend_Auth_Result::SUCCESS) {
             $this->_helper->redirector('index', 'dashboard');
         }
         $this->_forward('social', 'register', 'default', array('userData' => $userData));
     }
 }
All Usage Examples Of Hybrid_Auth::setup