2012-04-04 3 views
0

HerokuはDeviseとOmniauthを使ってRails 3.2.2アプリをホストしました。Rails 3.2.2 DeviseとOmniauthを使ったFacebookアプリで、ユーザー権限でiframeからリダイレクトする確認

私は現在、アプリを開くときにポストからfacebookのユーザーIDを取得しています。ユーザーが存在する場合は、自動的にログインし、すべてがピーチになります。 Facebookの許可要求]ダイアログ - そうでない場合は、私が

user_omniauth_authorize_path(:facebook) 
「/ユーザー/認証/ログインfacebook」を取得

にリダイレクト。ユーザーが承諾すると、OmniauthCallbacksController#facebookが呼び出され、ユーザーに署名し、アプリケーションのホームページにリダイレクトします。しかし、最後のリダイレクトでは、Facebookのiframeからリダイレクトされています。

なぜこれが私をiframeから取り除いているのかというアイデアがありません。助言がありますか?

マイナーな訂正では、新規ユーザーに自動的に認証を求めることはありません。彼らは許可を求められる前にボタンを押してサイトに参加する必要があります。あなたのomniauth.rb初期化子で

+0

FacebookページのFacebookアプリのリダイレクト設定を確認してください。 devとprod envの設定は異なります。 –

+0

これで問題が解決しない場合は、ここにコードを貼り、他の人に見てもらうことができます。 –

+0

ありがとうございましたが、私は簡単なテストのために時間を節約しようとしていました。私は、リダイレクトの代わりにポップアップでアクセス許可リクエストを行い、今は正常に動作しています。コーナーをカットしようとしていたはずがありません... –

答えて

0

は、私の記憶が正しければ末尾の/は必要だった

OmniAuth.config.full_host = "http://apps.facebook.com/canvas_url/"

を置きます。

これはあなたをFacebookの枠内に保つはずです。