-
Notifications
You must be signed in to change notification settings - Fork 5.5k
How To: Find a user when you have their credentials
Viktor edited this page Oct 4, 2020
·
6 revisions
From https://github.com/plataformatec/devise/issues/346, you can do the following:
user = User.find_for_authentication(:username => 'druidia')
user.valid_password?('12345') # That's amazing! I have the same combination on my luggage!
Here's a convenient method for same:
class User
def self.authenticate(username, password)
user = User.find_for_authentication(:username => username)
user&.valid_password?(password) ? user : nil
end
end
Addendum: If you use confirmable, and don't want to authenticate the user if she isn't confirmed yet, you also need to call "active_for_authentication?"