私は、有効な署名鍵を(私はHMAC-SHA1方式を使用しています)を構築しようとしている、これまでのところ、これはまだ無効である(私はhttp://term.ie/oauth/example/client.phpでのオンラインテストサーバーを使用しています):PHP Oauthが署名キーを作成していますか?
function _build_signature_hmac($base_url, $params, $consumer_key, $token_secret = '')
{
// Setup base-signature data
$data = 'POST&' . $base_url . '&';
// Sort the params array keys first
ksort($params);
// Attach params string
$data .= rawurlencode(http_build_query($params));
// Build the signature key
$key = rawurlencode($consumer_key) . '&' . rawurlencode($token_secret);
return base64_encode(hash_hmac('sha1', $data, $key));
}
これは不正なトークンの要求なので、$ token_secret文字列は空です。 返された署名は次のようになります。
POST&http://term.ie/oauth/example/request_token.php&oauth_consumer_key%3Dkey%26oauth_nonce%3D0uPOn3pPUbPlzWx2cO6citRPafIni5%26oauth_signature_method%3DHMAC-SHA1%26oauth_timestamp%3D1298745681%26oauth_version%3D1.0
そして$キーは次のようになります。secret&
鍵/秘密はすべて正しいと私は「は無効な署名」を言って、サーバからの応答を取得しています。私は正しい方法でそれを構築していますか?
私は、最初にそれ自身のステップで署名ベース文字列を作成するためのロジックをseperatingお勧めそのため、http://developer.netflix.com/resources/OAuthTestなどのテストページを使用して、署名作成に入る前に基本文字列が正しいかどうかを確認することができます。 –
リンクをありがとう。 NetFlix Oauthサーバーは無効な署名も報告するので、私の署名が何か間違っていると判断するのは安全だと思います。 –