Example #1
0
 public static function Init($oTenant = null)
 {
     parent::Init($oTenant);
     $bResult = false;
     $oUser = null;
     $oClient = self::CreateClient($oTenant);
     if ($oClient) {
         if ($success = $oClient->Initialize()) {
             if ($success = $oClient->Process()) {
                 if (strlen($oClient->access_token)) {
                     $success = $oClient->CallAPI('https://api.twitter.com/1.1/account/verify_credentials.json', 'GET', array(), array('FailOnAccessError' => true), $oUser);
                 }
             }
             $success = $oClient->Finalize($success);
         }
         if ($oClient->exit) {
             $bResult = false;
             exit;
         }
         if ($success && $oUser) {
             // if you need re-ask user for permission
             //$oClient->ResetAccessToken();
             $aSocial = array('type' => self::$ConnectorName, 'id' => $oUser->id, 'name' => $oUser->name, 'email' => isset($oUser->email) ? $oUser->email : '', 'access_token' => $oClient->access_token, 'scopes' => self::$Scopes);
             \CApi::Log('social_user_' . self::$ConnectorName);
             \CApi::LogObject($oUser);
             $bResult = $aSocial;
         } else {
             $bResult = false;
             $oClient->ResetAccessToken();
             self::_socialError($oClient->error, self::$ConnectorName);
         }
     }
     return $bResult;
 }
Example #2
0
 public static function Init($oTenant = null)
 {
     parent::Init($oTenant);
     $bResult = false;
     $oUser = null;
     $oClient = self::CreateClient($oTenant);
     if ($oClient) {
         if ($success = $oClient->Initialize()) {
             if ($success = $oClient->Process()) {
                 if (strlen($oClient->access_token)) {
                     $success = $oClient->CallAPI('https://www.googleapis.com/oauth2/v1/userinfo', 'GET', array(), array('FailOnAccessError' => true), $oUser);
                 } else {
                     $oClient->error = $oClient->authorization_error;
                     $success = false;
                 }
             }
             $success = $oClient->Finalize($success);
         }
         if ($oClient->exit) {
             $bResult = false;
             exit;
         }
         if ($success && $oUser) {
             // if you need re-ask user for permission
             $oClient->ResetAccessToken();
             $iExpiresIn = 3600;
             $dAccessTokenExpiry = new DateTime($oClient->access_token_expiry);
             $aAccessToken = json_encode(array('access_token' => $oClient->access_token, 'created' => $dAccessTokenExpiry->getTimestamp() - $iExpiresIn, 'expires_in' => $iExpiresIn));
             $aSocial = array('type' => self::$ConnectorName, 'id' => $oUser->id, 'name' => $oUser->name, 'email' => isset($oUser->email) ? $oUser->email : '', 'access_token' => $aAccessToken, 'refresh_token' => $oClient->refresh_token, 'scopes' => self::$Scopes);
             \CApi::Log('social_user_' . self::$ConnectorName);
             \CApi::LogObject($oUser);
             $bResult = $aSocial;
         } else {
             $bResult = false;
             $oClient->ResetAccessToken();
             self::_socialError($oClient->error, self::$ConnectorName);
         }
     }
     return $bResult;
 }
Example #3
0
 public static function Init($oTenant = null)
 {
     self::$Scopes = isset($_COOKIE['external-services-scopes']) ? explode('|', $_COOKIE['external-services-scopes']) : array();
 }