expephalon-smsotp/core/classes/otp.py
Klaus-Uwe Mitterer 85fe13edcf Implemented TOTP
Implemented currencies and taxes
2020-05-22 18:13:23 +02:00

28 lines
No EOL
910 B
Python

class BaseOTPProvider:
'''OTP providers must be subclasses of BaseOTPProvider and implement at least validate_token().'''
@property
def get_name(self):
return "Base OTP Provider"
@property
def get_logo(self):
return ""
def __str__(self):
return self.get_name
@property
def is_active(self):
'''Returns True if the provider is properly configured and ready to use.'''
raise NotImplementedError(f"{type(self)} does not implement is_active!")
def active_for_user(self, user):
'''Returns True if the provider is active and ready to be used by user.'''
return self.is_active
def start_authentication(self, user):
return "Authentication started, please enter your 2FA token."
def validate_token(self, user, token):
raise NotImplementedError(f"{type(self)} does not implement validate_token()!")