1

Devise 2.0.4 で OmniAuth 1.1.0 を使用すると、Twitter に接続しようとすると、次のエラーが表示されます。

Started GET "/users/auth/twitter" for 127.0.0.1 at 2012-05-23 14:50:23 -0400
(twitter) Callback phase initiated.
(twitter) Callback phase initiated.
(twitter) Authentication failure! timeout: Timeout::Error, execution expired

次に、OmniAuth を呼び出します

Processing by Users::OmniauthCallbacksController#failure as HTML

興味深いことに、ユーザーの情報を の一部として取得していますrequest.env["omniauth.auth"]。つまり、request.env にはユーザーの実際の Twitter プロファイル データが含まれています。OmniAuth はタイムアウトしたと言っていますが。誰かがここで何が起こっているかについての手がかりを私に提供できますか?

4

1 に答える 1

1

私は当初、バージョン0.4.7と1からそれぞれDevise2.0.4を使用してOmniAuth1.1.0にアップグレードしていたので、この問題を修正するために最初に変更をロールバックしてから、gemの更新をやり直しました。これを台無しにしたのは、私のGemfileを手動でいじったことだったと思います。

アップグレード時にラックの依存関係について苦情が出た場合は、Gemfileからsinatraに関するブロック(依存関係としてsinatraについて言及している行ではなく、sinatraとその依存関係について言及しているブロック)を削除してから、バンドルインストールまたは更新など。

于 2012-05-26T14:30:45.333 に答える