2010-12-19 15 views
13

Estoy usando Omniauth y forcing/auth/facebook para mostrar en una ventana emergente (con JS). [En lugar de una nueva ventana - que es mucho menos fácil de usar]Omniauth - Pantalla facebook connect as popup

El problema es: OmniAuth carga el URL FB con

display=page 

En lugar de lo que quiero:

display=popup 

Cualquiera sabe cómo puedo cambiar los parámetros que Omniauth usa para Facebook?

Gracias

Respuesta

16

En donde se configura el ID de Facebook y clave secreta, añadir una opción más extra:

:display => "popup" 
+1

funcionó muy bien para ¡yo! Gracias – e3matheus

+1

Esto no parece funcionar para mí usando Omniauth 0.2.6 en una aplicación de rieles 3.1.0.rc5. ¿Hay algo más que necesite hacer? –

+0

¿Puede guiarme a dónde exactamente necesito poner esto? – Bongs

1

Si está usando esto con Idear, sólo tiene que editar su development.rb (y production.rb) a lo siguiente;

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

Asegúrese de reiniciar el servidor de los rieles al editar estos archivos.

3

En realidad, en la versión actual de OmniAuth-facebook, esto es lo que funciona para mí:

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

Aquí hay [un problema relevante de github para el proyecto omniauth-facebook] (https://github.com/mkdynamic/omniauth-facebook/issues/5). No estoy seguro de por qué está cerrado porque el ': authorize_params' for está indocumentado. He pedido que se vuelva a abrir. –

3

Si está utilizando heroku, a continuación, utilice esta opción:

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' }