0

oauthaccess_tokenを取得した後、ドロップボックスを認証し、ドロップボックスからファイルをダウンロードするために使用しています ドロップボックスからファイルをダウンロードするために以下の署名を使用しています

{"error": "Bad oauth_signature for oauth_signature_method 'PLAINTEXT'"}

使用している署名は以下のとおりです

このエラーを解決するにはどうすればよいですか?

4

1 に答える 1

1

私はこれについて検索していて、それを見つけました:

1)PLAINTEXTメソッドはセキュリティ保護を提供せず、HTTPSなどの安全なチャネルでのみ使用する必要があります。署名ベース文字列は使用しません。

2)サービスプロバイダーは、すべての要求に対してHMAC-SHA1署名方式のサポートを宣言し、セキュア(HTTPS)要求に対してのみPLAINTEXTのサポートを宣言します。

3)PLAINTEXT署名とともに使用される場合、OAuthプロトコルは、盗聴者または中間者攻撃からユーザー資格情報を保護しようとはしません。PLAINTEXT署名アルゴリズムは、そのような保護を提供するTLSやSSLなどのトランスポート層セキュリティメカニズムと組み合わせて使用​​することのみを目的としています。トランスポート層保護が利用できない場合は、PLAINTEXT署名方式を使用しないでください。

このリンクを参照できますhttp://oauth.net/core/1.0/#anchor22

キーが正しいかどうかを確認することもできます

シグニチャプロトコルパラメータは、暗号化されていない次の値で設定されます。

oauth_signature_method:PLAINTEXTに設定します。oauth_signature:oauth_consumer_secretパラメーターの連結されたエンコードされた値とoauth_token_secretパラメーターの値に設定されます。値にが含まれている場合。文字(ASCIIコード46)の場合、%2Eとしてエンコードする必要があります。値は。で区切られます。空の場合でも、文字(ASCIIコード46)。結果を再度エンコードしてはなりません。たとえば、コンシューマキーがdj.9rj $ 0jd78jf88で、トークンシークレットがjjd999(j88ui.hs3の場合、エンコードされた値は次のようになります。

コンシューマーキー:dj%2E9rj%240jd78jf88トークンシークレット:jjd999%28j88ui%2Ehs3そしてoauth_signature値はdj%2E9rj%240jd78jf88.jjd999%28j88ui%2Ehs3です。この値はエンコードされなくなり、HTTPリクエストで使用されます。トークンシークレットが空の場合、値はdj%2E9rj%240jd78jf88です。(セパレーターは保持されます)。

于 2013-01-29T12:15:22.293 に答える