Class: SessionsController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- SessionsController
- Defined in:
- lib/rails/generators/google_oauth_calendar/install/templates/sessions_controller.rb
Instance Method Summary collapse
Instance Method Details
#create ⇒ Object
7 8 9 10 11 12 13 14 15 16 17 18 |
# File 'lib/rails/generators/google_oauth_calendar/install/templates/sessions_controller.rb', line 7 def create auth = request.env["omniauth.auth"] user = User.where(:provider => auth['provider'], :uid => auth['uid']).first || User.create_with_omniauth(auth) user.token = auth[:credentials][:token]; user.token_expires_at = Time.at(auth[:credentials][:expires_at]) user.refresh_token = auth[:credentials][:refresh_token] user.save session[:user_id] = user.id redirect_to root_url, :notice => 'Signed in!' end |
#destroy ⇒ Object
20 21 22 23 |
# File 'lib/rails/generators/google_oauth_calendar/install/templates/sessions_controller.rb', line 20 def destroy reset_session redirect_to root_url, :notice => 'Signed out!' end |
#failure ⇒ Object
25 26 27 28 29 |
# File 'lib/rails/generators/google_oauth_calendar/install/templates/sessions_controller.rb', line 25 def failure # if you want to debug something better, this is the object you want #auth = request.env["omniauth.error"] redirect_to root_url, :alert => "Authentication error: #{params[:message].humanize}" end |
#new ⇒ Object
3 4 5 |
# File 'lib/rails/generators/google_oauth_calendar/install/templates/sessions_controller.rb', line 3 def new redirect_to '/auth/google_oauth2' end |