Class: SessionsController

Inherits:
ApplicationController
  • Object
show all
Defined in:
lib/minimum/omniauth/scaffold/templates/controllers/sessions_controller.rb

Instance Method Summary collapse

Instance Method Details

#callbackObject

ログイン



5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
# File 'lib/minimum/omniauth/scaffold/templates/controllers/sessions_controller.rb', line 5

def callback
  auth = request.env["omniauth.auth"]
  authentication = Authentication.find_by(provider: auth["provider"], uid: auth["uid"]) || Authentication.create_with_omniauth(auth)
  authentication.auth_update(auth)

  # ユーザ取得or作成
  user = User.find_by(id: authentication.user_id) || User.create_with_auth(authentication, request)

  session[:user_id] = user.id
  flash[:notice]    = "ログインしました。"

  # 保管URLへリダイレクト
  unless session[:request_url].blank?
    redirect_to session[:request_url]
    session[:request_url] = nil
    return
  end

  redirect_to :root and return
end

#destroyObject

ログアウト



27
28
29
30
31
# File 'lib/minimum/omniauth/scaffold/templates/controllers/sessions_controller.rb', line 27

def destroy
  session[:user_id] = nil

  redirect_to :root, notice: "ログアウトしました。" and return
end

#failureObject

ログインエラー



34
35
36
37
# File 'lib/minimum/omniauth/scaffold/templates/controllers/sessions_controller.rb', line 34

def failure
  flash[:alert] = 'Auth Failure'
  redirect_to :root and return
end