5

ユーザー向けにいくつかの ruby​​ on rails コードのつぶやきを実装しています。適切な oauth リンクを作成しています...次のようなものです

http://twitter.com/oauth/authorize?oauth_token=y2RkuftYAEkbEuIF7zKMuzWN30O2XxM8U9j0egtzKv

しかし、私のテスト アカウントが twitter へのアクセスを許可した後、「へのアクセスが正常に許可されました。プロセスを完了するには、次の PIN に戻って入力するだけです。1234567」というページが表示されます。

ユーザーがこの PIN をどこに入力すればよいのか、なぜ入力しなければならないのかわかりません。これは必要な手順ではないと思います。Twitter は、アプリケーション設定で指定したコールバック URL にユーザーをリダイレクトする必要があります。なぜこれが起こっているのか誰にも分かりますか?

更新ユーザーをこの URL に送信する必要があると述べているこの記事 を見つけました (「承認」ではなく「認証」に注意してください)。

http://twitter.com/oauth/authenticate?oauth_token=y2RkuftYAEkbEuIF7zKMuzWN30O2XxM8U9j0egtzKv

変更を行ったのですが、ユーザーが [許可] をクリックすると、Twitter はユーザーを承認パスにリダイレクトし、7 桁の PIN が再度与えられます。

4

4 に答える 4

6

oauth_callbackユーザーが受け入れるときにリダイレクトするURLでパラメーターを指定しない場合、デフォルトでピンベースの認証メカニズムになります。を使用oauth_callback=oobすると、ピンベースの認証フローもトリガーされます。

于 2009-08-13T02:55:58.267 に答える
6

OAuth 1.0aは、 OAuth 1.0 が脆弱であったソーシャル エンジニアリング攻撃を解決するために PIN を追加しました。ただし、PIN は、アプリケーションがデスクトップ/iPhone アプリである場合にのみ、ユーザーが手動で入力する必要があります。Web アプリの場合、PIN はブラウザーのリダイレクトの一部として自動的に流れる必要があり、ユーザーはこれを表示または入力する必要はありません。

したがって、アプリが Web アプリの場合、OAuth ライブラリまたはその使用にバグがあります。アプリがデスクトップ アプリの場合、これはユーザーを安全に保つために設計された "機能" です。

于 2009-08-12T06:18:47.967 に答える
1

Twitter アカウントにログインし、アプリケーションを編集して、デスクトップからブラウザに変更するだけです。私を含め、誰もがその間違いを犯しています。

于 2010-07-14T11:28:56.173 に答える
0

使っていて気づいたのですが、

config.gem "twitter", :version => "0.6.12"

Twitter は正常にリダイレクトされ、ピンは表示されません

しかし、新しいgemバージョンを使用すると

config.gem "twitter", :version => "0.9.2"

常にピンが表示されます。

これは間違いなくさらに調査する必要があり、新しい GEM では行っていない追加の構成で解決される可能性があります。

于 2010-03-27T12:19:17.520 に答える