Guest User

Untitled

a guest
Dec 14th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.06 KB | None | 0 0
  1. class Api::SessionsController < Api::BaseController
  2. prepend_before_filter :require_no_authentication, :only => [:create ]
  3. include Devise::Controllers::InternalHelpers
  4.  
  5. before_filter :ensure_params_exist
  6.  
  7. respond_to :json
  8.  
  9. def create
  10. build_resource
  11. resource = User.find_for_database_authentication(:login=>params[:user_login][:login])
  12. return invalid_login_attempt unless resource
  13.  
  14. if resource.valid_password?(params[:user_login][:password])
  15. sign_in("user", resource)
  16. render :json=> {:success=>true, :auth_token=>resource.authentication_token, :login=>resource.login, :email=>resource.email}
  17. return
  18. end
  19. invalid_login_attempt
  20. end
  21.  
  22. def destroy
  23. sign_out(resource_name)
  24. end
  25.  
  26. protected
  27. def ensure_params_exist
  28. return unless params[:user_login].blank?
  29. render :json=>{:success=>false, :message=>"missing user_login parameter"}, :status=>422
  30. end
  31.  
  32. def invalid_login_attempt
  33. warden.custom_failure!
  34. render :json=> {:success=>false, :message=>"Error with your login or password"}, :status=>401
  35. end
  36. end
Add Comment
Please, Sign In to add comment