Ich habe Devise und OmniAuth mit meinem Mongoid-ORM-Setup unter Verwendung der folgenden Beispiele integriert:
Mein Client-Code ist meist JavaScript (ExtJS) und stützt sich bei der gesamten Kommunikation auf JSON. Ich verwende keine Rails-Vorlagen. Ich versuche, ein Multi-Provider-Authentifizierungsmodell zu erstellen, hauptsächlich mit Benutzer / pass, Facebook und Twitter. Ich habe Schwierigkeiten, den vollständigen Benutzerauthentifizierungsablauf in Bezug auf meinen Anwendungsstapel zusammenzustellen.
Ich suche nach einem Beispiel, das JSON-Antworten auf die Standardauthentifizierungsaktionen anstelle von Weiterleitungen verwendet und eine Integration mit OmniAuth bietet, die Mongoid verwendet. Zusätzlich zu den obigen Beispielen habe ich Ryan Bates 'Railscasts über Devise und OmniAuth durchgesehen. Jedes Beispiel, das ich bisher durchgearbeitet habe, war entweder ActiveRecord oder Rails Template orientiert. Irgendwelche Zeiger werden geschätzt!
Dies (https://github.com/fertapric/rails3-mongoid-devise-omniauth) ist ein gutes Beispiel für eine App mit Rails 3, Devise, Omniaut und Mongoid, und ein Tutorial, das dazu passt hier: Ссылка )
Dann müssen Sie den Benutzersitzungs-Controller überschreiben, um die richtigen JSON-Antworten für Ihre App bereitzustellen. Es gibt ein gutes Beispiel hier: Ссылка und hier: Ссылка
Hoffe, das hilft
Ich würde vorschlagen, dass Sie Ihren eigenen Authentifizierungsmechanismus mit Rails 3.1 ActiveModel :: SecurePassword rollen, anstatt Devise zu verwenden. Auf diese Weise erhalten Sie eine sauberere Lösung, als zu versuchen, Devise zu optimieren, um JSON-Antworten bereitzustellen.
Wenn Sie Rails 3.1 nicht verwenden können, würde ich dennoch vorschlagen, dass Sie Ihre eigenen rollen, anstatt eine interne Devise-Methode zu überschreiben (was der Kern, zu dem Nesbitt führt, tut).
Tags und Links mongoid ruby-on-rails json devise omniauth