问题
I am using Omniauth and forcing /auth/facebook to display in a popup (with JS). [Instead of a new window - which is much less user friendly]
The problem is: Omniauth loads the FB url with
display=page
Instead of what I want:
display=popup
Anyone knows how I can change the params Omniauth uses for facebook ?
Thanks
回答1:
At where you set your Facebook ID and secret key, add one more extra option as:
:display => "popup"
回答2:
Actually, in the current version of omniauth-facebook, this is what works for me:
:authorize_params => { :display => 'popup' }
回答3:
If you're using heroku, then use this option:
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' }
回答4:
If you're using this with Devise, simply edit your development.rb (and production.rb) to the following;
config.omniauth :facebook, FACEBOOK_API, FACEBOOK_SECRET, :display => 'popup'
Make sure you restart your rails server upon editing these files.
来源:https://stackoverflow.com/questions/4483598/omniauth-display-facebook-connect-as-popup