23 lines
814 B
Python
23 lines
814 B
Python
"""passbook captcha factor"""
|
|
|
|
from django.views.generic import FormView
|
|
|
|
from passbook.factors.base import AuthenticationFactor
|
|
from passbook.factors.captcha.forms import CaptchaForm
|
|
|
|
|
|
class CaptchaFactor(FormView, AuthenticationFactor):
|
|
"""Simple captcha checker, logic is handeled in django-captcha module"""
|
|
|
|
form_class = CaptchaForm
|
|
|
|
def form_valid(self, form):
|
|
return self.authenticator.user_ok()
|
|
|
|
def get_form(self, form_class=None):
|
|
form = CaptchaForm(**self.get_form_kwargs())
|
|
form.fields['captcha'].public_key = self.authenticator.current_factor.public_key
|
|
form.fields['captcha'].private_key = self.authenticator.current_factor.private_key
|
|
form.fields['captcha'].widget.attrs["data-sitekey"] = form.fields['captcha'].public_key
|
|
return form
|