| 1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253 |
- <?php
- /** @package verysimple::Authentication */
- require_once "oauth/OAuthStore.php";
- require_once "oauth/OAuthRequester.php";
- require_once "verysimple/String/VerySimpleStringUtil.php";
- /**
- * A set of utility functions for working with OAuth
- *
- * @package verysimple::String
- * @author Jason Hinkle
- * @copyright 1997-2012 VerySimple, Inc.
- * @license http://www.gnu.org/licenses/lgpl.html LGPL
- * @version 1.0
- */
- class OAuthUtil
- {
- /**
- * Given a URL return an OAuth signed URL. This will handle creating a timestamp and nonce
- *
- * @param string $url the unsigned url
- * @param string $method request method GET, POST, PUT, DELETE
- * @param string $key oauth key
- * @param string $secret oauth secret
- * @param array $params querystring or post parameters
- * @param string $body the body contents of the request
- * @param string $signature_method method used for signature (default = 'HMAC_SHA1')
- */
- public static function SignUrl($url,$method,$key,$secret,$params=null,$body=null,$signature_method='HMAC_SHA1')
- {
- $options = array('consumer_key' => $key, 'consumer_secret' => $secret);
- $params = $params ? $params : array();
- OAuthStore::instance("2Leg", $options);
- // Obtain a request object for the request we want to make
- $request = new OAuthRequester($url, $method, $params, $body);
- $sig = $request->sign($key,null,'');
- $data = $request->signatureBaseString();
- $url = substr( urldecode($data . '&oauth_signature=' . $request->calculateDataSignature($data,$secret,'',$signature_method) ), strlen($method) + 1);
- $url = VerySimpleStringUtil::ReplaceFirst('&', '?', $url);
- return $url;
- }
- }
- ?>
|