Authlogic Facebook Schließen Sie Snafu

8

Ich habe eine Anwendung mit authlogic und authlogic_facebook_connect konfiguriert, aber jedes Mal, wenn ich auf "Connect" klicke, schlägt meine UserSession die Validierung fehl und sagt "Sie haben keine Details zur Authentifizierung angegeben"

Soll die authlogic_facebook_connect nicht die Login / Passwort-Authentifizierung umgehen? Fehle ich einen Konfigurationsschritt?

Jede Hilfe wäre willkommen!

    
a10s 08.03.2010, 21:06
quelle

2 Antworten

2

Hey, vielleicht kann ich hier helfen, hatte dieses Problem vor nicht allzu langer Zeit ...

Facebook connect ist veraltet. Alle coolen Kids verwenden jetzt Facebook Graph mit OAuth. Facebook Team hat sogar die Dokumentation für Facebook Connect geschlossen.

Wie auch immer, das gilt für Authlogic Facebook connect, es funktioniert einfach nicht mehr.

Am Ende habe ich Authlogic für die normale Anmeldung und Kontoverwaltung verwendet, aber für Facebook connect habe ich meinen eigenen Code geschrieben.

Wahrscheinlich haben Sie facebooker gem benutzt. Deinstallieren Sie dieses Juwel, aber behalten Sie die Datei config / facebooker.yml bei.

Versuchen Sie Folgendes:

  1. Verwende config / facebooker.yml, indem du diesen Code in config / initializers / load_config.rb hinzufügst (du musst diese Datei erstellen)

    config = YAML.load_file("#{Rails.root}/config/facebooker.yml") || {}

    facebook_config = config['common'] || {}

    facebook_config.update(config[Rails.env] || {})

    FB_CONFIG = facebook_config.symbolize_keys

  2. Fügen Sie diesen Code in Ihrem user_controller.rb hinzu:

%Vor%
  1. Fügen Sie die find-Methode in Ihrem Benutzermodell hinzu (app / models / user.rb):
%Vor%
  1. Fügen Sie einen Link zur Aktion create_facebook in der Ansicht hinzu, etwa wie

    <%= link_to image_tag('gallery/button-facebook.png', :title => "register with Facebook", :alt => "register with Facebook"), {:action => 'create_facebook'}, {:target => '_parent'} %>

Erläuterung

  1. Im ersten Schritt haben Sie eine Datei erstellt, um Konfigurationsdaten von facebooker.yml
  2. zu erhalten
  3. Im zweiten Schritt haben Sie im Grunde zwei Funktionen erstellt, eine für das Senden eines Benutzers an facebook site (create_facebook) und eine andere zum Erfassen der Callback-Daten (facebook_oauth_callback). Die Idee kam von dieser Seite: Ссылка
  4. Im dritten Schritt haben Sie gerade eine Methode im Benutzermodell hinzugefügt, um einen Benutzer basierend auf den von facebook zurückgegebenen Informationen zu finden oder einen neuen Benutzer zu erstellen, falls dieser nicht gefunden wurde.

Der Code funktioniert nur in meinem Projekt, kopiere es nicht einfach, sondern lerne es Zeile für Zeile. Im Laufe der Zeit wurde mir klar, dass es besser ist, einfachen Code zu verwenden, den Sie verstehen können, anstatt das komplizierte Plugin von anderen zu verwenden, das Sie nicht reparieren können, wenn die Dinge schief laufen ...

    
jaycode 15.11.2010, 11:18
quelle
0

Ich hatte dieses Problem, ich denke mein Problem war in meinem Anruf nach

%Vor%

Hinweis Ich musste Controller übergeben. Ich denke, das war sowieso meine Lösung, ein weiteres Problem, das ich jetzt mit Facebook verbinde, ist ein weiteres Problem, aber ich erschaffe immer einen neuen Benutzer auf meiner Seite.

    
Pauly 07.09.2010 10:11
quelle