Подтвердить что ты не робот

Omniauth - отображать facebook как всплывающее окно

Я использую Omniauth и форсирую /auth/facebook для отображения во всплывающем окне (с JS). [Вместо нового окна, которое гораздо менее удобно)

Проблема в том, что Omniauth загружает URL-адрес FB с помощью

display=page

Вместо того, что я хочу:

display=popup

Кто-нибудь знает, как я могу изменить параметры, используемые Omniauth для facebook?

Спасибо

4b9b3361

Ответ 1

Когда вы устанавливаете свой идентификатор Facebook и секретный ключ, добавьте еще один дополнительный параметр:

:display => "popup"

Ответ 2

Собственно, в текущей версии omniauth-facebook это то, что работает для меня:

:authorize_params => { :display => 'popup' }

Ответ 3

Если вы используете герою, используйте эту опцию:

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

Если вы используете это с помощью Devise, просто отредактируйте файл development.rb(и production.rb) следующим образом:

config.omniauth :facebook, FACEBOOK_API, FACEBOOK_SECRET, :display => 'popup'

Убедитесь, что вы перезагрузили сервер рельсов после редактирования этих файлов.