Compare commits

...

2 Commits

Author SHA1 Message Date
Ulisses Almeida
b4b92d6658 Release 4.1.1 2016-05-15 12:03:21 -03:00
Ralin Chimev
da7c7a7200 Fix overwriting the remember_token when a valid one already exists (#4101)
The remember_token should not get overwritten when a user is
signing in and a valid token already exists.

Fixes #3950.
2016-05-15 11:59:12 -03:00
5 changed files with 21 additions and 4 deletions

View File

@@ -1,3 +1,8 @@
### 4.1.1 - 2016-05-15
* bug fixes
* Fix overwriting the remember_token when a valid one already exists (by @ralinchimev).
### 4.1.0
* bug fixes

View File

@@ -1,7 +1,7 @@
PATH
remote: .
specs:
devise (4.1.0)
devise (4.1.1)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 4.1.0, < 5.1)
@@ -179,4 +179,4 @@ DEPENDENCIES
webrat (= 0.7.3)
BUNDLED WITH
1.11.2
1.12.3

View File

@@ -46,7 +46,7 @@ module Devise
end
def remember_me!
self.remember_token = self.class.remember_token if respond_to?(:remember_token)
self.remember_token ||= self.class.remember_token if respond_to?(:remember_token)
self.remember_created_at ||= Time.now.utc
save(validate: false) if self.changed?
end

View File

@@ -1,3 +1,3 @@
module Devise
VERSION = "4.1.0".freeze
VERSION = "4.1.1".freeze
end

View File

@@ -16,6 +16,18 @@ class RememberableTest < ActiveSupport::TestCase
assert user.remember_created_at
end
test 'remember_me should not generate a new token if valid token exists' do
user = create_user
user.singleton_class.send(:attr_accessor, :remember_token)
User.to_adapter.expects(:find_first).returns(nil)
user.remember_me!
existing_token = user.remember_token
user.remember_me!
assert_equal existing_token, user.remember_token
end
test 'forget_me should not clear remember token if using salt' do
user = create_user
user.remember_me!