30 lines
		
	
	
		
			869 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			30 lines
		
	
	
		
			869 B
		
	
	
	
		
			Python
		
	
	
	
	
	
"""passbook multi-factor authentication engine"""
 | 
						|
from logging import getLogger
 | 
						|
 | 
						|
from django.utils.translation import gettext as _
 | 
						|
from django.views.generic import TemplateView
 | 
						|
 | 
						|
from passbook.lib.config import CONFIG
 | 
						|
 | 
						|
LOGGER = getLogger(__name__)
 | 
						|
 | 
						|
 | 
						|
class AuthenticationFactor(TemplateView):
 | 
						|
    """Abstract Authentication factor, inherits TemplateView but can be combined with FormView"""
 | 
						|
 | 
						|
    form = None
 | 
						|
    required = True
 | 
						|
    authenticator = None
 | 
						|
    request = None
 | 
						|
    template_name = 'login/form.html'
 | 
						|
 | 
						|
    def __init__(self, authenticator):
 | 
						|
        self.authenticator = authenticator
 | 
						|
 | 
						|
    def get_context_data(self, **kwargs):
 | 
						|
        kwargs['config'] = CONFIG.get('passbook')
 | 
						|
        kwargs['is_login'] = True
 | 
						|
        kwargs['title'] = _('Log in to your account')
 | 
						|
        kwargs['primary_action'] = _('Log in')
 | 
						|
        return super().get_context_data(**kwargs)
 |