Class: SessionsController

Inherits:
ApplicationController
  • Object
show all
Defined in:
app/controllers/sessions_controller.rb

Instance Method Summary collapse

Instance Method Details

#createObject



5
6
7
8
9
10
11
# File 'app/controllers/sessions_controller.rb', line 5

def create
  @user = User.find_by_param(params[:login])
  session[:handshake] = @user.initialize_auth(params['A'].hex)
  render :json => { :B => session[:handshake].bb.to_s(16) }
rescue RECORD_NOT_FOUND
  render :json => {:errors => {:login => ["unknown user"]}}
end

#destroyObject



23
24
25
26
# File 'app/controllers/sessions_controller.rb', line 23

def destroy
  session[:user_id] = nil
  redirect_to root_path
end

#newObject



2
3
# File 'app/controllers/sessions_controller.rb', line 2

def new
end

#updateObject



13
14
15
16
17
18
19
20
21
# File 'app/controllers/sessions_controller.rb', line 13

def update
  @user = User.find_by_param(params[:id])
  @server_auth = @user.authenticate!(params[:client_auth].hex, session.delete(:handshake))
  session[:user_id] = @user.id
  render :json => {:M2 => @server_auth}
rescue WRONG_PASSWORD
  session[:handshake] = nil
  render :json => {:errors => {"password" => ["wrong password"]}}
end