Download apps/security/forms.py from Rsnarsna/Saas-Base: direct link, hf CLI and curl.
- Browser
- Download file 1.48 kB
-
https://huggingface.co/spaces/Rsnarsna/Saas-Base/resolve/main/apps/security/forms.py
- Command line
-
hf download hf://spaces/Rsnarsna/Saas-Base/apps/security/forms.py
-
curl -L -o forms.py https://huggingface.co/spaces/Rsnarsna/Saas-Base/resolve/main/apps/security/forms.py
1.48 kB
| """ | |
| Forms for the security app — MFA setup, verification, and device management. | |
| """ | |
| from django import forms | |
| class MFASetupForm(forms.Form): | |
| """Verify OTP code during TOTP setup.""" | |
| otp_code = forms.CharField( | |
| max_length=6, | |
| min_length=6, | |
| widget=forms.TextInput( | |
| attrs={ | |
| "class": "form-input", | |
| "placeholder": "000000", | |
| "autocomplete": "one-time-code", | |
| "id": "mfa-otp-code", | |
| "pattern": "[0-9]{6}", | |
| "inputmode": "numeric", | |
| } | |
| ), | |
| ) | |
| class MFAVerifyForm(forms.Form): | |
| """Verify OTP code during login.""" | |
| otp_code = forms.CharField( | |
| max_length=6, | |
| min_length=6, | |
| widget=forms.TextInput( | |
| attrs={ | |
| "class": "form-input", | |
| "placeholder": "000000", | |
| "autocomplete": "one-time-code", | |
| "id": "mfa-verify-code", | |
| "pattern": "[0-9]{6}", | |
| "inputmode": "numeric", | |
| } | |
| ), | |
| ) | |
| trust_device = forms.BooleanField(required=False) | |
| class BackupCodeForm(forms.Form): | |
| """Verify a backup code for MFA recovery.""" | |
| backup_code = forms.CharField( | |
| max_length=9, | |
| widget=forms.TextInput( | |
| attrs={ | |
| "class": "form-input", | |
| "placeholder": "XXXX-XXXX", | |
| "id": "backup-code", | |
| } | |
| ), | |
| ) | |