Class: LsOmniauth::OmniauthController

Inherits:
ActionController::Base
  • Object
show all
Defined in:
app/controllers/ls_omniauth/omniauth_controller.rb

Instance Method Summary collapse

Instance Method Details

#authenticateObject



7
8
9
10
11
12
13
14
15
16
17
18
# File 'app/controllers/ls_omniauth/omniauth_controller.rb', line 7

def authenticate
  auth_response = request.env['omniauth.auth']
  email = auth_response.info.email

  LsOmniauth::AuthSessions.new(session).tap {|session|
    session.auth.set(email)
    origin = session.origin.getOrElse("/")
    Rails.logger.warn "origin = #{origin}"
    session.origin.clear
    redirect_to origin
  }
end

#new_authenticationObject



20
21
22
23
24
25
# File 'app/controllers/ls_omniauth/omniauth_controller.rb', line 20

def new_authentication
  LsOmniauth::AuthSessions.new(session).origin.set(params[:return_uri]) if params[:return_uri]
  LsOmniauth::AuthSessions.new(session).auth.clear
  url = oauth_url(params)
  redirect_to url
end

#revoke_authenticationObject



27
28
29
30
31
# File 'app/controllers/ls_omniauth/omniauth_controller.rb', line 27

def revoke_authentication
  return_uri = return_uri(session)
  clear_authentication_sessions(session)
  render :text => "<div class='notification'>your have been logged out click <a href='#{ls_omniauth.}?return_uri=#{return_uri}' target='_self'>here</a> to log back in</div>"
end