class Challah::PasswordTechnique
Allows authentication by username and password.
Attributes
user_model[RW]
Public Class Methods
new(session)
click to toggle source
grab the params we want from this request
# File lib/challah/techniques/password_technique.rb, line 8 def initialize(session) @username = session.username? ? session.username : nil @password = session.password? ? session.password : nil end
Public Instance Methods
authenticate()
click to toggle source
if we can successfully authenticate, return a User instance, otherwise nil
# File lib/challah/techniques/password_technique.rb, line 14 def authenticate if username? and password? user = user_model.find_for_session(username) if user if user.valid_session? if user.authenticate(@password) return user end end user.failed_authentication! user = nil end end nil end
password?()
click to toggle source
# File lib/challah/techniques/password_technique.rb, line 33 def password? !!@password end
persist?()
click to toggle source
# File lib/challah/techniques/password_technique.rb, line 37 def persist? true end
username()
click to toggle source
# File lib/challah/techniques/password_technique.rb, line 49 def username @username end
username?()
click to toggle source
# File lib/challah/techniques/password_technique.rb, line 45 def username? !!@username end