lib/devise/hooks/timeoutable.rb in devise-3.1.2 vs lib/devise/hooks/timeoutable.rb in devise-3.2.0
- old
+ new
@@ -7,15 +7,18 @@
scope = options[:scope]
env = warden.request.env
if record && record.respond_to?(:timedout?) && warden.authenticated?(scope) && options[:store] != false
last_request_at = warden.session(scope)['last_request_at']
+ proxy = Devise::Hooks::Proxy.new(warden)
if record.timedout?(last_request_at) && !env['devise.skip_timeout']
- warden.logout(scope)
+ Devise.sign_out_all_scopes ? proxy.sign_out : sign_out(scope)
+
if record.respond_to?(:expire_auth_token_on_timeout) && record.expire_auth_token_on_timeout
record.reset_authentication_token!
end
+
throw :warden, :scope => scope, :message => :timeout
end
unless env['devise.skip_trackable']
warden.session(scope)['last_request_at'] = Time.now.utc