2012-04-04 2 views
0

Heroku разместил приложение Rails 3.2.2 с помощью Devise и Omniauth.Rails 3.2.2 Facebook приложение, использующее Devise и Omniauth, перенаправляющее из iframe при подтверждении разрешений пользователей

В настоящее время я открываю приложение для входа в facebook через сообщение при открытии приложения. Если пользователь существует, я автоматически регистрирую их, и все это работает персик. Если они не делают, я обращаю их

user_omniauth_authorize_path(:facebook) 

который получает «/ пользователей/аутентификации/фейсбук» - и «разрешений» запроса диалога в Facebook. Если пользователь принимает вызов, вызывается OmniauthCallbacksController # facebook, который подписывает пользователя и перенаправляет его на домашнюю страницу приложения. Но при этом последнем перенаправлении они перенаправляются из Facebook iframe.

У меня нет идей относительно того, почему это выводит меня из iframe. Какие-либо предложения?

Незначительная коррекция, я не прошу новых пользователей автоматически аутентифицироваться. Они должны нажать кнопку, чтобы взаимодействовать с сайтом, прежде чем запрашивать разрешения.

+0

Проверьте настройки перенаправления для приложения Facebook на странице Facebook. Настройки будут отличаться для dev и prod env. –

+0

Если это не поможет, вставьте здесь свой код, чтобы другие могли посмотреть на него. –

+0

Спасибо, но я пытался сэкономить время на быстрый тест. Я сделал запрос разрешения на всплывающее окно вместо перенаправления, и теперь он работает нормально. Не нужно было пытаться срезать углы ... –

ответ

0

В вашем omniauth.rb инициализаторе, положить

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

Продольный/необходимо, если я правильно помню.

Это должно держать вас в кадре Facebook.

Смежные вопросы