Julien
Julien

Reputation: 21

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 !

Upvotes: 0

Views: 1815

Answers (3)

installero
installero

Reputation: 9776

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

Upvotes: 0

Rails Guy
Rails Guy

Reputation: 3866

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.

Upvotes: 1

TM.
TM.

Reputation: 3741

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

Upvotes: 2

Related Questions