Exemplo n.º 1
0
 public function authorize($provider = 'apontador')
 {
     if ($provider == 'foursquare') {
         $callbackurl = ROOT_URL . "oauth/callback/foursquare";
         $api = new FourSquareApiV2(\FOURSQUARE_CONSUMER_KEY, \FOURSQUARE_CONSUMER_SECRET, $callbackurl);
         $api->authenticate();
         exit;
     } elseif ($provider == 'twitter') {
         $callbackurl = ROOT_URL . "oauth/callback/twitter";
         $api = new TwitterOAuth(\TWITTER_CONSUMER_KEY, \TWITTER_CONSUMER_SECRET);
         $request_token = $api->getRequestToken($callbackurl);
         $token = $request_token['oauth_token'];
         Session::write('twitterToken', $request_token['oauth_token']);
         Session::write('twitterTokenSecret', $request_token['oauth_token_secret']);
         switch ($api->http_code) {
             case 200:
                 $oauthCallbackUrl = $api->getAuthorizeURL($token);
                 break;
             default:
                 echo 'Could not connect to Twitter. Refresh the page or try again later.';
         }
         $this->redirect($oauthCallbackUrl);
     } elseif ($provider == 'facebook') {
         $api = new Facebook(array('appId' => \FACEBOOK_AP_ID, 'secret' => \FACEBOOK_SECRET, 'cookie' => true));
         $callbackurl = ROOT_URL . "oauth/callback/facebook";
         $oauthCallbackUrl = $api->getLoginUrl(array('next' => $callbackurl, 'req_perms' => 'publish_stream'));
         $this->redirect($oauthCallbackUrl);
     } elseif ($provider == 'orkut') {
         $callbackurl = ROOT_URL . "oauth/callback/orkut";
         $scope = 'https://orkut.gmodules.com/social/rest https://www.googleapis.com/auth/latitude';
         $api = new OrkutOAuth(\ORKUT_CONSUMER_KEY, \ORKUT_CONSUMER_SECRET);
         $request_token = $api->getRequestToken($callbackurl, $scope);
         $token = $request_token['oauth_token'];
         Session::write('orkutToken', $request_token['oauth_token']);
         Session::write('orkutTokenSecret', $request_token['oauth_token_secret']);
         switch ($api->http_code) {
             case 200:
                 $oauthCallbackUrl = $api->getAuthorizeURL($token);
                 break;
             default:
                 echo 'Could not connect to Orkut. Refresh the page or try again later.';
         }
         $this->redirect($oauthCallbackUrl);
     } elseif ($provider == 'apontador') {
         $login = Session::read('login');
         if (empty($login) && APONTADOR_POST_LOGIN == true) {
             $this->redirect('/oauth/login');
         }
         $api = new ApontadorApi();
         $callbackurl = ROOT_URL . "oauth/callback/apontador";
         $oauthCallbackUrl = $api->apontadorRedirectAutorizacao($callbackurl);
         $this->redirect($oauthCallbackUrl);
     }
 }