Example #1
0
 /**
  * (non-PHPdoc)
  * @see \Socialite\Bridge\Provider\BaseProvider::getAccessToken()
  */
 public function getAccessToken($verifier)
 {
     $url = $this->getNormalizedUrl($this->oauth_access_token_url);
     // build the oauth request parameters
     $params = array('code' => $verifier, 'redirect_uri' => $this->getCallback(), 'grant_type' => 'authorization_code');
     // create the request object
     $request = new OAuthRequest($url, $params, OAuthClient::HTTP_POST);
     $request->setVersion($this->oauth_version);
     $request->setConsumer($this->consumer);
     // execute the request
     $client = new OAuthClient($request);
     $client->execute();
     // store the response
     $this->response = $client->getResponse();
 }
Example #2
0
 /**
  * (non-PHPdoc)
  * @see \Socialite\Bridge\Provider\BaseProvider::getAccessToken()
  */
 public function getAccessToken($verifier)
 {
     $url = $this->getNormalizedUrl($this->oauth_access_token_url);
     // build the oauth request parameters
     $params = array('oauth_verifier' => $verifier);
     // create the request object
     $request = new OAuthRequest($url, $params, OAuthClient::HTTP_POST);
     $request->setConsumer($this->consumer);
     $request->setToken($this->token);
     $request->setVersion($this->oauth_version);
     // execute the request
     $client = new OAuthClient($request);
     $client->execute();
     // store the response
     $this->response = $client->getResponse();
 }
 /**
  * (non-PHPdoc)
  * @see \Socialite\Component\OAuth\SignatureMethod\OAuthSignatureMethod::build()
  */
 public function build(OAuthRequest $request, OAuthConsumer $consumer, OAuthToken $token = null)
 {
     $parts = array(OAuth::urlencode($consumer->getSecret()));
     $parts[] = $token instanceof OAuthToken ? OAuth::urlencode($token->getSecret()) : '';
     $base = $request->getBaseSignature();
     $key = join('&', $parts);
     if (function_exists('hash_hmac')) {
         $hmac = hash_hmac('sha1', $base, $key, true);
     } else {
         $blocksize = 64;
         $hashfunc = 'sha1';
         if (strlen($key) > $blocksize) {
             $key = pack('H*', $hashfunc($key));
         }
         $key = str_pad($key, $blocksize, chr(0x0));
         $ipad = str_repeat(chr(0x36), $blocksize);
         $opad = str_repeat(chr(0x5c), $blocksize);
         $hmac = pack('H*', $hashfunc(($key ^ $opad) . pack('H*', $hashfunc(($key ^ $ipad) . $base_string))));
     }
     return base64_encode($hmac);
 }