diff --git a/app/assets/javascripts/jamkazam.js b/app/assets/javascripts/jamkazam.js index 1c6f1fc98..1636c75a0 100644 --- a/app/assets/javascripts/jamkazam.js +++ b/app/assets/javascripts/jamkazam.js @@ -65,7 +65,7 @@ function loggedIn(header, payload) { app.clientId = payload.client_id; $.cookie('client_id', payload.client_id); - $.cookie('remember_token', payload.token); + // $.cookie('remember_token', payload.token); // removed per vrfs-273/403 var heartbeatMS = payload.heartbeat_interval * 1000; logger.debug("jamkazam.js.loggedIn(): clientId now " + app.clientId + "; Setting up heartbeat every " + heartbeatMS + " MS"); diff --git a/app/controllers/sessions_controller.rb b/app/controllers/sessions_controller.rb index dda080c53..86a2d9090 100644 --- a/app/controllers/sessions_controller.rb +++ b/app/controllers/sessions_controller.rb @@ -13,6 +13,7 @@ class SessionsController < ApplicationController @login_error = true render 'new', :layout => "landing" else + @session_only_cookie = !jkclient_agent? && !params[:user].nil? && 0 == params[:user][:remember_me].to_i complete_sign_in user end end diff --git a/app/helpers/sessions_helper.rb b/app/helpers/sessions_helper.rb index 640145372..72e8618a6 100644 --- a/app/helpers/sessions_helper.rb +++ b/app/helpers/sessions_helper.rb @@ -6,7 +6,15 @@ module SessionsHelper end def set_remember_token(user) - cookies.permanent[:remember_token] = user.remember_token + if @session_only_cookie + cookies.delete(:remember_token) + cookies[:remember_token] = user.remember_token + else + cookies[:remember_token] = { + :value => user.remember_token, + :expires => 20.years.from_now.utc + } + end end def signed_in? @@ -52,4 +60,9 @@ module SessionsHelper def store_location session[:return_to] = request.url end + + def jkclient_agent? + request.env['HTTP_USER_AGENT'] =~ /JamKazam/ + end + end diff --git a/app/views/sessions/new.html.erb b/app/views/sessions/new.html.erb index 078c6c0be..f0a266cd8 100644 --- a/app/views/sessions/new.html.erb +++ b/app/views/sessions/new.html.erb @@ -39,7 +39,8 @@