Ich verwende Devise mit Omniauth, damit sich Nutzer mit Facebook bei meiner App anmelden können. Ich habe die Railscast-Tutorials benutzt, um das Programm zu starten.
Wenn ein Benutzer bereits Mitglied meiner Website ist, funktioniert die Authentifizierung über Facebook einwandfrei. Das Problem tritt auf, wenn ein neuer Benutzer mit Facebook authentifiziert wird. Wenn ich einen neuen Benutzer für mein Benutzermodell erstellen möchte, bekomme ich den Fehler "users.encrypted_password kann nicht NULL sein". Ich kann nicht herausfinden, wie man das Passwort von Facebook an das User-Modell weitergibt.
Das habe ich:
authentations_controller.rb
%Vor%user.rb
%Vor%Jede Hilfe wäre großartig, danke im Voraus!
Hinzufügen: password = & gt; Devise.friendly_token [0,20] beim Erstellen eines neuen Benutzers von facebook omniauth.
Ich glaube, Devise erwartet etwas im Passwortfeld, um einen Benutzer zu erstellen. Da es bei facebook oauth kein Passwort gibt (zumindest nicht auf Ihrer App-Seite), müssen Sie nur ein Dummy-Passwort erstellen, wie oben gezeigt.
Sehen Sie dies für mehr Info: Ссылка
Tags und Links ruby-on-rails devise omniauth