Sha256: 57e5b39f36a5ab6cb1956fa939eadc543285cda68156b3555b90490c0480ab24

Contents?: true

Size: 1.07 KB

Versions: 4

Compression:

Stored size: 1.07 KB

Contents

class SsoClyent::UserSessionsController < SsoClyent::ApplicationController
  before_filter :login_required, :only => [ :destroy ]

  respond_to :html

  # omniauth callback method
  def create
    omniauth = env['omniauth.auth']
    logger.debug "+++ #{omniauth}"

    if user = user_klass.send("find_by_#{userid}", omniauth['uid'])
      user.respond_to?(:save) ? user.save : user.update
    else
      # New user registration
      user = user_klass.create({:"#{userid}" => omniauth['uid']})
    end

    # Currently storing all the info
    session[:user_id] = omniauth

    flash[:notice] = "Successfully logged in"
    redirect_to SsoClyent.after_sign_in_path
  end

  # Omniauth failure callback
  def failure
    flash[:notice] = params[:message]

  end

  # logout - Clear our rack session BUT essentially redirect to the provider
  # to clean up the Devise session from there too !
  def destroy
    current_user_logout

    flash[:notice] = 'You have successfully signed out!'
    redirect_to "#{SsoClyent.logout_url}?callback_url=#{session['return-to'] || root_url}"
  end

  private
end

Version data entries

4 entries across 4 versions & 1 rubygems

Version Path
sso_clyent-0.0.7.25 app/controllers/sso_clyent/user_sessions_controller.rb
sso_clyent-0.0.7.24 app/controllers/sso_clyent/user_sessions_controller.rb
sso_clyent-0.0.7.23 app/controllers/sso_clyent/user_sessions_controller.rb
sso_clyent-0.0.7.22 app/controllers/sso_clyent/user_sessions_controller.rb