Sha256: 223d44b1b8399c959c5c5fac74cd0b89d7be0bb352513d2877780a25be13c76a

Contents?: true

Size: 839 Bytes

Versions: 3

Compression:

Stored size: 839 Bytes

Contents

# coding: utf-8
class SessionsController < ApplicationController
  #----------#
  # callback #
  #----------#
  def callback
    auth = request.env["omniauth.auth"]
    user = User.where( provider: auth["provider"], uid: auth["uid"] ).first || User.create_with_omniauth( auth )
    session[:user_id] = user.id

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

    redirect_to :root, notice: "ログインしました。"
  end

  #---------#
  # destroy #
  #---------#
  def destroy
    session[:user_id] = nil

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

  #---------#
  # failure #
  #---------#
  def failure
    render text: "<span style='color: red;'>Auth Failure</span>"
  end
end

Version data entries

3 entries across 3 versions & 1 rubygems

Version Path
omniauth-scaffold-0.1.29 lib/omniauth-scaffold/templates/sessions_controller.rb
omniauth-scaffold-0.1.28 lib/omniauth-scaffold/templates/sessions_controller.rb
omniauth-scaffold-0.1.27 lib/omniauth-scaffold/templates/sessions_controller.rb