1

ウェブサイトが異なれば、oauth の順序も異なります。たとえば、 http: //oauth.net/core/diagram.pngには 7 つの相互作用があります。既存のライブラリ (以下にリスト) に基づく実装中、ステップ B と C がまったく発生していません。

質問は次のとおりです。

  1. B と C をスキップしてもよいですか (上の図のとおり)。または、ライブラリにバグがあります。
  2. ステップ E では、ステップ D で受け取った oauth_verifier と oauth_token を除くすべてのパラメーターを再計算する必要がありますか?
  3. ステップ C は、ユーザーが手動で PIN を入力することを回避するのに役立つと仮定するのは正しいですか?

開発環境情報:

  • 開発言語: Python (2.5)
  • プラットフォーム: Google App Engine
  • 参照ライブラリは次のとおりです。

(a) [http://sa-jtwitter-bot.googlecode.com/hg/oauthtwitter.py][2]、

(b) [http://python-twitter.googlecode.com/hg/twitter.py][3]

(c) ユーザーが http://myapp.com/twitter/authrequest と言ったときに実行される実際のコード、およびコールバック: http://myapp.com/twitter/authresponse は、[http://popdevelop.com から取得されます。 /2010/07/an-example-on-how-to-use-oauth-and-python-to-connect-to-twitter][4]

4

1 に答える 1

0

私の答えは、あなたが言及した開発環境に固有のものではなく、一般的なものです。

回答 1.その特定のユーザーのアクセス トークンを既に持っていない限り、手順 B と C をスキップすることはできません。実際にはステップ B と C で、サービス プロバイダーから認証/認可のポップアップが開きます。次に、ユーザーは自分の資格情報を入力し、ユーザー アプリへの承認を許可します。次に、コールバックで、ユーザーに代わってアクセス トークンを再度要求します。アクセス トークンを受け取ったら、サービス プロバイダーに情報/データのフェッチを要求できます。アクセス トークンを DB に保存している場合は、上記の手順をスキップして、アクセス トークンを使用してデータを直接要求できますが、しばらくしてからアクセス トークンを更新するように要求するサービス プロバイダーはほとんどありません。新しいアクセス トークンを取得するための古いアクセス トークン (例: Yahoo)

回答2. oauth_signature、oauth_timestamp、oauth_nonce はリクエストごとに使用/生成されるため、リクエストを行うたびに再計算する必要があります。他のパラメータについては、以前の値を使用できます。

回答 3.ステップ C は、アプリケーションが要求しているアクション/スコープについて、ユーザーから承認を得るためにあります。

于 2013-07-02T14:12:39.800 に答える