Class: Devise::Strategies::YubikeyDatabaseAuthenticatable

Inherits:
Authenticatable
  • Object
show all
Defined in:
lib/devise_yubikey_database_authenticatable/strategy.rb

Instance Method Summary collapse

Instance Method Details

#authenticate!Object



6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/devise_yubikey_database_authenticatable/strategy.rb', line 6

def authenticate!
  resource = valid_password? && mapping.to.find_for_yubikey_database_authentication(authentication_hash)
    
  if validate(resource) {resource.valid_password?(password)}
    if resource.useyubikey == true
      if params[:user][:yubiotp].blank?
        fail('Yubikey OTP Required for this user.') 
      else
        if resource.validate_yubikey(params[:user][:yubiotp]) && (resource.registeredyubikey == params[:user][:yubiotp][0..11])
          resource.after_database_authentication
          success!(resource)
        else
          fail('Invalid Yubikey OTP.')
        end
      end
    else
      success!(resource)
    end
  else
    fail(:invalid)
  end
end