Compare commits

..

2 Commits

Author SHA1 Message Date
Ulisses Almeida
12029092b8 Release 4.0.3 2016-05-15 12:07:40 -03:00
Ralin Chimev
a96b920277 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 12:05:49 -03:00
5 changed files with 20 additions and 5 deletions

View File

@@ -1,4 +1,7 @@
### Unreleased
### 4.0.3 - 2016-05-15
* bug fixes
* Fix overwriting the remember_token when a valid one already exists (by @ralinchimev).
### 4.0.2 - 2016-04-25

View File

@@ -1,7 +1,7 @@
PATH
remote: .
specs:
devise (4.0.2)
devise (4.0.3)
bcrypt (~> 3.0)
orm_adapter (~> 0.1)
railties (>= 4.1.0, < 5.1)
@@ -176,4 +176,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.0.2".freeze
VERSION = "4.0.3".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!