3

oauth1.0a片足でhttpを介した認証のためにステップバイステップのwc_api_docsに従いましたが、phpまたはjavaのコードの署名は郵便配達員の署名と異なり、このエラーに直面しています:

{ "code": "woocommerce_rest_authentication_error",
"message": "無効な署名 - 提供された署名が一致しません。",
"data": { "status": 401 } }

$url = rawurlencode("http://localhost/wordpress/wordpress/wp-json/wc/v1/products");
$ck = rawurlencode("oauth_consumer_key").'='.rawurlencode("ck_s6ec05447691a63c76b3ffc575f2f29ba7c0438c");
$nonce = rawurlencode("oauth_nonce").'='.rawurlencode("zNebTNK");
$timestamp = rawurlencode("oauth_timestamp").'='.rawurlencode("1468302526");
$s_method = rawurlencode("oauth_signature_method").'='.rawurlencode("HMAC-SHA256");


$params = rawurlencode($ck."&".$nonce."&".$s_method."&".$timestamp);
$http_method = "GET";

$signature_base = $http_method."&".$url."&".$params;
echo $signature_base.'-------------';
$s = hash_hmac('sha256', $signature_base, 'cs_s70ac550670bdf16e72213855c9745518320e68c', true);
echo urlencode(base64_encode($s));

正しい署名を作成することはできませんが、この値を持つ郵便配達員は正しく機能します!

4

0 に答える 0