私は Omniauth を使用しており、/auth/facebook を強制的にポップアップに表示させています (JS を使用)。[ユーザーフレンドリーではない新しいウィンドウの代わりに]
問題は次のとおりです。Omniauth は FB の URL を
display=page
私が欲しいものの代わりに:
display=popup
Omniauth が facebook に使用するパラメータを変更する方法を知っている人はいますか?
ありがとう
Facebook ID とシークレット キーを設定する場所で、次のオプションをもう 1 つ追加します。
:display => "popup"
実際、現在のバージョンの omniauth-facebook では、次のように動作します。
:authorize_params => { :display => 'popup' }
heroku を使用している場合は、次のオプションを使用します。
config.omniauth :facebook, ENV['FB_APP_ID'], ENV['FB_APP_SECRET'], {:scope => 'email, offline_access', :client_options => {:ssl => {:ca_file => '/usr/lib/ssl/certs/ca-certificates.crt'}}, :display => 'popup' }
これをDeviseで使用している場合は、development.rb(およびproduction.rb)を次のように編集するだけです。
config.omniauth :facebook, FACEBOOK_API, FACEBOOK_SECRET, :display => 'popup'
これらのファイルを編集するときは、必ずRailsサーバーを再起動してください。