1
0
Fork 0
mirror of https://github.com/heartcombo/devise.git synced 2022-11-09 12:18:31 -05:00

Merge pull request #2954 from plataformatec/lm-last-request-at-json-serialization

Serialize the `last_request_at` entry as an Integer
This commit is contained in:
Lucas Mazza 2014-04-02 22:58:14 -03:00
commit 6027787930
2 changed files with 7 additions and 3 deletions

View file

@ -9,6 +9,11 @@ Warden::Manager.after_set_user do |record, warden, options|
if record && record.respond_to?(:timedout?) && warden.authenticated?(scope) && options[:store] != false
last_request_at = warden.session(scope)['last_request_at']
if last_request_at.is_a? Integer
last_request_at = Time.at(last_request_at).utc
end
proxy = Devise::Hooks::Proxy.new(warden)
if record.timedout?(last_request_at) && !env['devise.skip_timeout']
@ -22,7 +27,7 @@ Warden::Manager.after_set_user do |record, warden, options|
end
unless env['devise.skip_trackable']
warden.session(scope)['last_request_at'] = Time.now.utc
warden.session(scope)['last_request_at'] = Time.now.utc.to_i
end
end
end

View file

@ -8,12 +8,11 @@ class SessionTimeoutTest < ActionDispatch::IntegrationTest
test 'set last request at in user session after each request' do
sign_in_as_user
old_last_request = last_request_at
assert_not_nil last_request_at
@controller.user_session.delete('last_request_at')
get users_path
assert_not_nil last_request_at
assert_not_equal old_last_request, last_request_at
end
test 'set last request at in user session after each request is skipped if tracking is disabled' do