Class: SessionsController
- Inherits:
-
ApplicationController
- Object
- ApplicationController
- SessionsController
- Defined in:
- app/controllers/sessions_controller.rb
Instance Method Summary collapse
Instance Method Details
#callback ⇒ Object
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 |
# File 'app/controllers/sessions_controller.rb', line 25 def callback callback_object = OneClick.callback(session[:one_click][:service], { :request => session[:one_click][:request], :params => params }) if callback_object id = callback_object[:id] data = callback_object[:data] access = callback_object[:access] service_class = session[:one_click][:service].classify.constantize service = service_class.find_by_service_id id user = service.user if service if !user User.create_with_service(session[:one_click][:service], data, access) else user.send(session[:one_click][:service]).update_access access user.send(session[:one_click][:service]).update_data data end OneClick.store_session(session, session[:one_click][:service], callback_object[:access]) OneClick.(, session[:one_click][:service], callback_object[:access]) end redirect_to session[:one_click][:referer] end |
#login ⇒ Object
6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
# File 'app/controllers/sessions_controller.rb', line 6 def login session[:one_click] ||= {} session[:one_click][:service] = params[:service] session[:one_click][:referer] = referer login_object = OneClick.login(session[:one_click][:service], { :callback => url_for(:action => 'callback') }) if login_object # Store whatever's needed in the session session[:one_click][:request] = login_object[:request] redirect_to login_object[:url] else session[:one_click] = nil redirect_to referer end end |
#logout ⇒ Object
52 53 54 55 56 57 58 59 60 |
# File 'app/controllers/sessions_controller.rb', line 52 def logout session[:one_click] = nil .delete :one_click_service .delete :one_click_access_token .delete :one_click_access_secret redirect_to referer end |