· 8 years ago · Dec 31, 2016, 06:38 PM
1signature_invalidUnauthorized
2
3function rfc3986_encode($string) {
4 $result = rawurlencode($string);
5 $result = str_replace('%7E', '~', $result);
6 $result = str_replace('=', '%3D', $result);
7 $result = str_replace('+', '%2B', $result);
8
9 return $result;
10}
11
12$consumer = "CK_REDACTED";
13$secret = "CS_REDACTED";
14$secret2 = "AS_REDACTED";
15$token = "AT_REDACTED";
16$sign_method = "HMAC-SHA1";
17$version = "1.0";
18$url = "REDACTED";
19$path = "REDACTED";
20
21$timestamp = strtotime('now');
22$mt = microtime();
23$rand = mt_rand();
24$nonce = md5($mt.$rand);
25
26$post = array(
27 'oauth_consumer_key' => rfc3986_encode($consumer),
28 'oauth_token' => rfc3986_encode($token),
29 'oauth_signature_method' => rfc3986_encode($sign_method),
30 'oauth_timestamp' => rfc3986_encode($timestamp),
31 'oauth_nonce' => rfc3986_encode($nonce),
32 'oauth_version' => rfc3986_encode($version)
33);
34
35$signatureParameters = array();
36foreach ($post as $parameter => $value) {
37 $signatureParameters[] = rfc3986_encode($parameter) . '=' . rfc3986_encode($value);
38}
39
40$signatureParameters = implode('&', $signatureParameters);
41
42$baseString = "GET"
43 ."&".rfc3986_encode($url)
44 ."&".rfc3986_encode($signatureParameters);
45
46$key = rfc3986_encode($consumer) ."&";
47
48$signature = base64_encode(hash_hmac('sha1', $baseString, $key));
49$RFC3986signature = rfc3986_encode($signature);