5

これは、Facebook 経由でログインしようとしたときに表示されるエラーで、常にそのエラーが表示されます。それを取り除くことができないようです:

「Csrf が検出されました」ため、Facebook から認証できませんでした。

私はスキップを入れました:

skip_before_filter :verify_authenticity_token

Omniauth コールバックで、それでもエラーが発生します。これは、ローカル環境と製品 (heroku) 環境の両方にあります。heroku 環境変数を設定しました。何か案が?

4

3 に答える 3

8

私はあなたが同じ日に同じ問題を抱えていました!! 私はそれがgemの更新かこのようなものだと思っていましたが、まったくそうではありませんでした. 詳細なデバッグを行ったところ、omniauth で「コールバック フェーズが開始された」ことがわかりました。2回呼ばれました。

それは愚かな二重初期化によるものでした

プロバイダ:facebook、.....

config/initializers/devise.rb と別のイニシャライザに 1 つ。

間違い探しのヒントになれば幸いです

于 2012-07-20T12:56:07.007 に答える
6

問題は、gemが新しすぎて、fbが望まなかったSTATEヘッダーをFacebookに渡すことであることがわかりました。omn​​iauth-facebook gemバージョンをロールバックしましたが、機能しました

于 2012-07-21T02:38:17.090 に答える
0

p3pヘッダーを送信していますか?多分追加...

before_filter :set_p3p
private

def set_p3p
  headers['P3P'] = 'CP="ALL DSP COR CURa ADMa DEVa OUR IND COM NAV"'
end

アプリケーションコントローラに

于 2012-07-18T19:49:33.123 に答える