Class: GithubOnRails::SessionsController

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

Instance Method Summary collapse

Methods included from ControllerExtensions

#current_user

Instance Method Details

#createObject



9
10
11
12
13
14
15
16
17
18
# File 'app/controllers/github_on_rails/sessions_controller.rb', line 9

def create
  auth = request.env['omniauth.auth']
  user = User.where(provider: auth['provider'],
                    uid: auth['uid'].to_s).first || User.create_with_omniauth(auth)

  reset_session
  session[:user_id] = user.id
  session[:auth_token] = auth.credentials['token']
  redirect_to main_app.root_url, notice: 'Signed in!'
end

#destroyObject



20
21
22
23
# File 'app/controllers/github_on_rails/sessions_controller.rb', line 20

def destroy
  reset_session
  redirect_to main_app.root_url, notice: 'Signed out!'
end

#failureObject



25
26
27
# File 'app/controllers/github_on_rails/sessions_controller.rb', line 25

def failure
  redirect_to main_app.root_url, alert: "Authentication error: #{params['error'].try(:humanize)}"
end

#newObject



5
6
7
# File 'app/controllers/github_on_rails/sessions_controller.rb', line 5

def new
  redirect_to '/auth/github'
end