From 560c8d4bd139ed13fcee170e7cfd5eaf08e2d68f Mon Sep 17 00:00:00 2001 From: yin Date: Sat, 24 Apr 2021 21:54:48 +0900 Subject: [PATCH 1/2] fix mongoid detecting bug --- app/models/devise_token_auth/concerns/user.rb | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/models/devise_token_auth/concerns/user.rb b/app/models/devise_token_auth/concerns/user.rb index 1a87524b3..90afa30b3 100644 --- a/app/models/devise_token_auth/concerns/user.rb +++ b/app/models/devise_token_auth/concerns/user.rb @@ -218,7 +218,7 @@ def destroy_expired_tokens end def should_remove_tokens_after_password_reset? - if Rails::VERSION::MAJOR <= 5 ||defined?('Mongoid') + if Rails::VERSION::MAJOR <= 5 ||defined?(Mongoid) encrypted_password_changed? && DeviseTokenAuth.remove_tokens_after_password_reset else From 132bf94e7954ce270241148c683e18b7714c3f01 Mon Sep 17 00:00:00 2001 From: yin Date: Sun, 9 May 2021 23:12:07 +0900 Subject: [PATCH 2/2] fix bug on rails 6 On rails 6, if change password, in `before_save` callback - `saved_change_to_attribute?(:encrypted_password)` return false - `encrypted_password_changed?` return true --- app/models/devise_token_auth/concerns/user.rb | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/app/models/devise_token_auth/concerns/user.rb b/app/models/devise_token_auth/concerns/user.rb index 90afa30b3..17485f2a9 100644 --- a/app/models/devise_token_auth/concerns/user.rb +++ b/app/models/devise_token_auth/concerns/user.rb @@ -218,13 +218,8 @@ def destroy_expired_tokens end def should_remove_tokens_after_password_reset? - if Rails::VERSION::MAJOR <= 5 ||defined?(Mongoid) - encrypted_password_changed? && + encrypted_password_changed? && DeviseTokenAuth.remove_tokens_after_password_reset - else - saved_change_to_attribute?(:encrypted_password) && - DeviseTokenAuth.remove_tokens_after_password_reset - end end def remove_tokens_after_password_reset