我正在使用 Omniauth 并强制 /auth/facebook 在弹出窗口中显示(使用 JS)。[而不是一个新窗口 - 这对用户不太友好]
问题是:Omniauth 加载 FB url
display=page
而不是我想要的:
display=popup
任何人都知道如何更改 Omniauth 用于 facebook 的参数?
谢谢
在您设置 Facebook ID 和密钥的地方,添加一个额外的选项:
: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 服务器。