Class: UserSecondFactor

Inherits:
ActiveRecord::Base
  • Object
show all
Includes:
SecondFactorManager
Defined in:
app/models/user_second_factor.rb

Constant Summary collapse

MAX_TOTPS_PER_USER =
50
MAX_NAME_LENGTH =
300

Constants included from SecondFactorManager

SecondFactorManager::TOTP_ALLOWED_DRIFT_SECONDS

Class Method Summary collapse

Instance Method Summary collapse

Methods included from SecondFactorManager

#authenticate_backup_code, #authenticate_second_factor, #authenticate_security_key, #authenticate_totp, #backup_codes_enabled?, #create_backup_codes, #create_totp, #generate_backup_codes, #get_totp_object, #has_any_second_factor_methods_enabled?, #has_multiple_second_factor_methods?, #hash_backup_code, #invalid_second_factor_authentication_result, #invalid_second_factor_method_result, #invalid_security_key_result, #invalid_totp_or_backup_code_result, #not_enabled_second_factor_method_result, #only_security_keys_enabled?, #only_totp_or_backup_codes_enabled?, #remaining_backup_codes, #require_rotp, #security_keys_enabled?, #totp_enabled?, #totp_or_backup_codes_enabled?, #valid_second_factor_method_for_user?

Class Method Details

.methodsObject



21
22
23
# File 'app/models/user_second_factor.rb', line 21

def self.methods
  @methods ||= Enum.new(totp: 1, backup_codes: 2, security_key: 3)
end

Instance Method Details

#totp_objectObject



25
26
27
# File 'app/models/user_second_factor.rb', line 25

def totp_object
  get_totp_object(self.data)
end

#totp_provisioning_uriObject



29
30
31
# File 'app/models/user_second_factor.rb', line 29

def totp_provisioning_uri
  totp_object.provisioning_uri(user.email)
end