私はdjango-pistonと協力して、oAuthをサポートするAPIを作成しようとしています。
私は次の場所でチュートリアルを使い始めました。
http://blog.carduner.net/2010/01/26/django-piston-and-oauth/
テスト目的で、キーとシークレットの両方を「abcd」に設定して、ピストンの管理インターフェースにコンシューマーを追加しました。
URLが正常に接続され、oAuthプロバイダーが呼び出されます。
ただし、tripit(python get_request_token.py " http://127.0.0.1:8000/api " abcd abcd)を使用してget requestトークンテストを実行すると、次のエラーが発生します。
署名が無効です。予想される署名ベース文字列:GET&http%3A%2F%2F127.0.0.1%3A8000%2Fapi%2Foauth%2Frequest_token%2F&oauth_consumer_key%3Dabcd%26oauth_nonce%3D0c0bdded5b1afb8eddf94f7ccc672658%26oauth_
問題は、Pistonのoauth.pyの_check_signatureメソッド内にあるようです。
valid_sig = signature_method.check_signature(oauth_request, consumer, token, signature)
falseを返しています。ただし、署名を検証する方法を理解することはできません。
何か案は?
アップデート:
テストコンシューマーをピストンのバックエンドから削除すると、返される応答は「無効なコンシューマー」に正しく設定されているため、このルックアップは機能しているように見えます。