Skip to content

Instantly share code, notes, and snippets.

@Artforge
Created January 23, 2013 19:37
Show Gist options
  • Select an option

  • Save Artforge/4612034 to your computer and use it in GitHub Desktop.

Select an option

Save Artforge/4612034 to your computer and use it in GitHub Desktop.
login session controller for devise receiver from mobile (phonegap) client
class Api::SessionsController < Devise::SessionsController
# include Devise::Controllers::InternalHelpers
prepend_before_filter :require_no_authentication, :only => [:new, :create]
def new
super
end
def create
sign_out(current_user) if current_user
@user = warden.authenticate(:scope => :user)
if @user && @user.valid_password?(params[:user][:password])
sign_in(@user)
@user.reset_authentication_token!
render :json => {
:access_token => @user.authentication_token,
:token_type => "persistant",
:user_id => @user.id,
:user => @user.as_json(root: false),
:studies => @user.studies.as_json(root: false)
}, :callback => params[:callback]
else
render :json => {:error => "Invalid Login Credentials"}, :callback => params[:callback]
end
end
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment