Hilfe Verwenden von Devise mit der integrierten Omniauth-Unterstützung

8

Ich habe versucht, Ссылка zu folgen, aber irgendwie, wenn ich mir die generierten Routen ansehe, die ich nur sehe der Callback-Pfad und nicht der Autorisierungspfad (und tatsächlich erhalte ich den Fehler in der Ansicht mit dem Link user_omniahuth_authorize_path).

Ich nehme an, es könnte sich um ein Versions-Problem von OmniAuth und Devise ( seit 0.2.0.beta Omniath handeln erlaubt konfigurierbare Einstellung, und die Routen müssen definiert werden ). Beim Versuch, eine ältere OmniAuth-Version zu verwenden, erhalte ich den Fehler " You are using an old OmniAuth version, please ensure 0.2.0.beta or later installed. ".

Ich habe versucht, mit Devise's Master, 1.2.rc und dem omniauth-Zweig und mit dem gesamten omniauth-Juwel (nach 0.2.0.beta) und mit 'oa-oauth' zu arbeiten, aber ohne Erfolg. Ich habe auch versucht, die Route zu definieren:

%Vor%

Das half mit der Route, aber beim Drücken des Links habe ich den Fehler bekommen, dass das Gerät kein Mapping finden kann. Lustigerweise führte das Ändern des Controllers in devise_for, um ungültig zu werden (wie das Hinzufügen von '/' vor den Benutzern / omniauth_callbacks), beim ersten Mal zu einem Fehler ("Controllername sollte nicht mit einem Schrägstrich beginnen"), aber ein kleines Reload wurde tatsächlich gesendet mich nach Facebook und zurück (aber natürlich wurde die Callback-Route nicht definiert).

Ich bin Ruby neu und nicht ganz sicher, wohin ich von hier gehe. Jede Hilfe wird geschätzt.

    
krakover 02.03.2011, 19:23
quelle

2 Antworten

0

Mein Problem lag an verschiedenen Versionen von Omniauth und Devise. Was schließlich funktionierte, war die Verwendung dieser Konfiguration in meiner gemfile:

%Vor%

Sie können mehr Details über meine Implementierung sehen hier .

    
krakover 14.10.2011, 19:09
quelle
6

Diese Methode ist definiert durch das Gerät , nicht über Routen. Daher wird es nicht angezeigt, wenn Sie rake routes ausführen. Die Methode verwendet einen der oauth-Provider, die Sie in config / initializers / devies.rb konfiguriert haben. Zum Beispiel, wenn Sie Folgendes in devise.rb definieren:

%Vor%

Dann sollten Sie den Autorisieren-Link wie folgt erstellen:

%Vor%     
Braden Becker 02.03.2011 21:34
quelle