Ich habe eine Rails 4.1 Application läuft mit Devise für die Authentifizierung.Rails Devise und devise_token_auth. Ich arbeite nicht mit
Für den Zugriff über mobile Apps i-Token-Auth mit dem empfohlenen devise_token_auth gem implementieren möchte. Ich benutze Omniauth nicht
Die Funktionalität der bestehenden App nicht geändert werden soll.
Was ich tat:
installiert devise_token_auth über gemfile.
den Generator benutzt: Schienen g devise_token_auth: Benutzer-Auth
die Migration erforderlichen Felder hinzuzufügen geändert installieren. Migration fehlgeschlagen wegen Omniauth fehlt. Also habe ich es auch installiert.
Changed routes.rb
devise_for :users, :skip => [:sessions, :registrations, :omniauth_callbacks]
as :user do
get 'register' => 'users/registrations#new', :as => :new_user_registration
post 'register' => 'users/registrations#create', :as => :user_registration
get 'sign_in' => 'devise/sessions#new', :as => :new_user_session
post 'sign_in' => 'devise/sessions#create', :as => :user_session
delete '/' => 'users/sessions#destroy', :as => :destroy_user_session
end
hinzugefügt:
namespace :api do
scope :v1 do
mount_devise_token_auth_for 'User', at: 'auth', skip: [:omniauth_callbacks]
end
Ende
Benutzer Modell ich habe:
devise :database_authenticatable, :registerable,
:recoverable, :rememberable, :trackable, :validatable,
:confirmable, :timeoutable, :lockable
include DeviseTokenAuth::Concerns::User
Jetzt, wenn ich versuche, einen neuen sign_up Benutzer gibt mir die va lidierung Fehler:
Uid darf nicht leer sein
Hat jemand hatte das gleiche Problem und es gelöst?
Was ich seltsam finde ist, dass es braucht Omniauth installiert haben.
Update:
überschreiben ich die Devise Registrierung Controller-Aktion erstellen:
build_resource(sign_up_params)
resource.uid = resource.email
resource.provider = ''
Jetzt, als ich sign_in i erhalten:
{ "Fehler": [ "Berechtigte nur."] }
im Browser.
Welche Version des Edelsteins verwenden Sie? Ich versuche dasselbe zu machen, aber ich bekomme einen Fehler. –
derzeit: devise_token_auth 0.1.32.beta2 – yaster
Sie sagten Sie "Die Migration wurde geändert, um die erforderlichen Felder hinzuzufügen." Was waren das? Gab es einen Leitfaden, dem du gefolgt bist? Ich versuche, devise_token_auth zu meiner bestehenden, angepassten Devise-Implementierung hinzuzufügen. –