public function testSign() { $params = 'file=vacation.jpg&size=original&oauth_version=1.0&oauth_consumer_key=dpf43f3p2l4k3l03'; $params .= '&oauth_token=nnch734d00sl2jdk&oauth_timestamp=1191242096&oauth_nonce=kllo9940pd9333jh'; $params .= '&oauth_signature=__ignored__&oauth_signature_method=HMAC-SHA1'; \OAuth\Tests\TestUtils::buildRequest('GET', 'http://photos.example.net/photos?' . $params); $r = \OAuth\Request::fromRequest(); $cons = new \OAuth\Consumer('key', 'kd94hf93k423kf44'); $token = new \OAuth\Token('token', 'pfkkdhi9sl3r4s00'); $hmac = new \OAuth\SignatureMethod\HmacSha1(); $plaintext = new \OAuth\SignatureMethod\Plaintext(); // We need to test both what the parameter is, and how the serialized request is.. $r->signRequest($hmac, $cons, $token); $this->assertEquals('HMAC-SHA1', $r->getParameter('oauth_signature_method')); $this->assertEquals('tR3+Ty81lMeYAr/Fid0kMTYa/WM=', $r->getParameter('oauth_signature')); $expectedPostdata = 'file=vacation.jpg&oauth_consumer_key=dpf43f3p2l4k3l03&oauth_nonce=kllo9940pd9333jh&' . 'oauth_signature=tR3%2BTy81lMeYAr%2FFid0kMTYa%2FWM%3D&oauth_signature_method=HMAC-SHA1&' . 'oauth_timestamp=1191242096&oauth_token=nnch734d00sl2jdk&oauth_version=1.0&size=original'; $this->assertEquals($expectedPostdata, $r->toPostdata()); $r->signRequest($plaintext, $cons, $token); $this->assertEquals('PLAINTEXT', $r->getParameter('oauth_signature_method')); $this->assertEquals('kd94hf93k423kf44&pfkkdhi9sl3r4s00', $r->getParameter('oauth_signature')); $expectedPostdata = 'file=vacation.jpg&oauth_consumer_key=dpf43f3p2l4k3l03&oauth_nonce=kllo9940pd9333jh&' . 'oauth_signature=kd94hf93k423kf44%26pfkkdhi9sl3r4s00&oauth_signature_method=PLAINTEXT&' . 'oauth_timestamp=1191242096&oauth_token=nnch734d00sl2jdk&oauth_version=1.0&size=original'; $this->assertEquals($expectedPostdata, $r->toPostdata()); }
<?php require_once "common.inc.php"; try { $req = \OAuth\Request::fromRequest(); list($consumer, $token) = $test_server->verifyRequest($req); // lsit back the non-OAuth params $total = array(); foreach ($req->getParameters() as $k => $v) { if (substr($k, 0, 5) == "oauth") { continue; } $total[] = urlencode($k) . "=" . urlencode($v); } print implode("&", $total); } catch (\OAuth\Exception $e) { print $e->getMessage() . "\n<hr />\n"; print_r($req); die; }