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

Don't pass options forward, this fixes uncaught warden error. Unfortunately could not write a test for it, although easily reproducible in Rails applications. Closes #754

This commit is contained in:
José Valim 2011-01-03 16:24:07 +01:00
parent 3f086656aa
commit 7ff0231ab7
3 changed files with 4 additions and 4 deletions

View file

@ -4,7 +4,6 @@
* bug fix
* Fix an issue causing infinite redirects in production
* rails g destroy works properly with devise generators (by github.com/andmej)
* recall options is now passed forward by hooks (by github.com/siong1987)
* before_failure callbacks should work on test helpers (by github.com/twinge)
* rememberable cookie now is httponly by default (by github.com/JamesFerguson)

View file

@ -4,7 +4,8 @@
# in each request and in case the user is using other strategies beside Devise ones.
Warden::Manager.after_set_user do |record, warden, options|
if record && record.respond_to?(:active?) && !record.active?
warden.logout(options[:scope])
throw :warden, options.merge(:message => record.inactive_message)
scope = options[:scope]
warden.logout(scope)
throw :warden, :scope => scope, :message => record.inactive_message
end
end

View file

@ -13,7 +13,7 @@ Warden::Manager.after_set_user do |record, warden, options|
path_checker = Devise::PathChecker.new(warden.env, scope)
unless path_checker.signing_out?
warden.logout(scope)
throw :warden, options.merge(:message => :timeout)
throw :warden, :scope => scope, :message => :timeout
end
end