2010-12-19 7 views
13

Ich benutze Omniauth und forcing/auth/facebook zur Anzeige in einem Popup (mit JS). [Statt einem neuen Fenster - die freundliche viel weniger benutzer]Omniauth - Anzeige facebook connect als Popup

Das Problem ist: url Omniauth lädt die FB mit

display=page 

Statt dessen, was ich will:

display=popup 

Jedermann weiß ich, wie ich die params ändern kann, die Omniauth für facebook verwendet?

Dank

Antwort

16

An, wo Sie Ihre Facebook-ID und geheimen Schlüssel gesetzt, fügen Sie eine weitere zusätzliche Option:

:display => "popup" 
+1

große Arbeitete mich! Danke – e3matheus

+1

Dies scheint nicht für mich mit Omniauth 0.2.6 in einer Rails 3.1.0.rc5 App zu arbeiten. Gibt es noch etwas, das ich tun muss? –

+0

Kannst du mir sagen, wo genau ich das hinbekomme? – Bongs

1

Wenn Sie dies mit Devise verwenden, einfach Ihre development.rb bearbeiten (und Produktion.rb) zu den folgenden;

Stellen Sie sicher, dass Sie Ihren Rails-Server nach der Bearbeitung dieser Dateien neu starten.

3

Eigentlich in der aktuellen Version von omniauth-facebook, das ist was für mich funktioniert:

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

Hier ist [eine relevante Github-Ausgabe für das omniauth-facebook-Projekt] (https://github.com/mkdynamic/omniauth-facebook/issues/5). Ich bin nicht sicher, warum es geschlossen ist, weil das ': authorize_params' für undokumentiert ist. Ich habe darum gebeten, dass es wieder geöffnet wird. –

3

Wenn Sie Heroku verwenden, dann diese Option verwenden:

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