3

2legged oauth を使用して Web サービスを認証しようとしています。標識ライブラリを使用して認証済み URL を作成する次の Java の例があります。

 String consumerKey = "KEY";
 String consumerSecret = "SECRET";
 DefaultOAuthConsumer consumer = new DefaultOAuthConsumer(consumerKey, consumerSecret);
 consumer.setTokenWithSecret(consumerKey, consumerSecret);
 return consumer.sign(targetUrl);

そして、これはこのようなURLを生成します

http://example.com/my/method?oauth_consumer_key=KEY&oauth_nonce=4779611081457530684&oauth_signature=v19lL74VVMTibCMja5vnwIE2q5g%3D&oauth_signature_method=HMAC-SHA1&oauth_timestamp=1368778106&oauth_token=KEY&oauth_version1.

そして、Ruby のoauthを使用して再作成しようとしています。私のコードは次のようになります。

consumer = OAuth::Consumer.new(@creds[:key], @creds[:secret],
                               :site => "URL",
                               :scheme => :query_string)
token = OAuth::AccessToken.new(consumer)
token.get "METHOD"

そして、次のような URL を生成します。

http://example.com/my/method?oauth_signature_method=HMAC-SHA1&oauth_nonce=7eQe4cAE27uBE9Bftfx7Pcjj1kqfuXHPWt5d3NZw0&oauth_version=1.0&oauth_consumer_key=KEY&oauth_timestamp=1368778250&oauth_signature=EbM0BjslzB5yGAiDEGiWeC8Ek3

しかし、手動で oauth_token をキーに設定しても (道しるべのように)、常に Unauthorized エラーが発生します。nonce が無効のように見えますが、どちらも oauth に有効なライブラリです

誰でも私を助けることができますか?

前もって感謝します

4

1 に答える 1