简体   繁体   中英

How to remove devise password resetting during email confirmation?

My email confirmation works with devise, however I want to remove this automatic password resetting. I don't manage to find in which file devise orders this action. Thank you in advance !

Just disable :recoverable module in User model and remove Forgot your password? link in devise/sessions/new.html.erb

If you don't want password recovery functionality in Devise, you should not set devise attribute ':recoverable' in your model. Please remove this attribute from your model, remove forgot password links from you views and you will no longer be able to reset password with Devise.

Presuming your devise model is User :

  1. Remove :recoverable module in app/models/user.rb
  2. If you once had your devise views generated, remove Forgot your password? link in app/views/devise/shared/_links.html.erb
  3. Create a migration dropping reset_password_token and reset_password_sent_at of your users table:

First run:

rails g migration RemoveRecoverableFromUsers

Edit migration:

class RemoveRecoverableFromUsers < ActiveRecord::Migration[5.0]
  def up
    remove_column :users, :reset_password_token
    remove_column :users, :reset_password_sent_at
  end

  def down
    add_column :users, :reset_password_token, :string
    add_column :users, :reset_password_sent_at, :datetime
  end
end

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM