feat: Implement TOTP-based Two-Factor Authentication

- Add django-otp and qrcode dependencies
- Create comprehensive 2FA views and templates in German
- Add 2FA setup, verification, and management interfaces
- Implement backup token system with 10 recovery codes
- Add TwoFactorMiddleware for session enforcement
- Integrate 2FA controls into user navigation menu
- Support QR code generation for authenticator apps
- Add forms for secure 2FA operations with validation
- Configure OTP settings and admin site integration

Features:
- Optional 2FA (users can enable/disable)
- TOTP compatible with Google Authenticator, Authy, etc.
- Backup codes for emergency access
- German language interface
- Session-based 2FA enforcement
- Password confirmation for sensitive operations
- Production-ready with HTTPS support
This commit is contained in:
2025-09-30 00:10:02 +02:00
parent 92b689f5e7
commit ed6a02232e
29 changed files with 41444 additions and 1 deletions

View File

@@ -622,6 +622,12 @@
<li><a class="dropdown-item" href="{% url 'stiftung:user_detail' user.pk %}">
<i class="fas fa-user me-2"></i>Mein Profil
</a></li>
<li><hr class="dropdown-divider"></li>
<li><h6 class="dropdown-header">Sicherheit</h6></li>
<li><a class="dropdown-item" href="{% url 'stiftung:two_factor_setup' %}">
<i class="fas fa-shield-alt me-2"></i>2FA verwalten
</a></li>
<li><hr class="dropdown-divider"></li>
{% if perms.stiftung.manage_users %}
<li><a class="dropdown-item" href="{% url 'stiftung:user_management' %}">
<i class="fas fa-users me-2"></i>Benutzerverwaltung