/ / Rails 3.2.2 Aplicativo do Facebook usando Devise e Omniauth redirecionando para fora do iframe na confirmação de permissões do usuário - ruby-on-rails, facebook, omniauth, ruby-on-rails-3.2

Rails 3.2.2 Aplicativo do Facebook usando Devise e Omniauth redirecionando para fora do iframe na confirmação de permissões do usuário - ruby-on-rails, facebook, omniauth, ruby-on-rails-3.2

Heroku hospedou o aplicativo Rails 3.2.2 usando o Devise e o Omniauth.

Eu estou atualmente recebendo o ID do usuário do Facebook via post ao abrir o aplicativo. Se o usuário existe, eu automaticamente faça o login e tudo funciona peachy. Se eles não, eu redirecioná-los para

user_omniauth_authorize_path(:facebook)

Que recebe "/ users / auth / facebook" - e oCaixa de diálogo "solicitação de permissões" do Facebook. Se o usuário aceitar, o OmniauthCallbacksController # facebook é chamado, que assina o usuário e redireciona-o para a página inicial do aplicativo. Mas nesse último redirecionamento, ele está sendo redirecionado para fora do iframe do Facebook.

Estou sem idéias a respeito de por que isso está me tirando do iframe. Alguma sugestão?

Correção secundária, não peço aos novos usuários para se autenticarem automaticamente. Eles precisam pressionar um botão para interagir com o site antes de receberem solicitações.

Respostas:

0 para resposta № 1

No seu inicializador omniauth.rb, coloque

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

Trailing / foi necessário se bem me lembro.

Isso deve mantê-lo dentro do quadro do Facebook.