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:
84
app/templates/stiftung/auth/two_factor_disable.html
Normal file
84
app/templates/stiftung/auth/two_factor_disable.html
Normal file
@@ -0,0 +1,84 @@
|
||||
{% extends "base.html" %}
|
||||
{% load static %}
|
||||
|
||||
{% block title %}{{ title }}{% endblock %}
|
||||
|
||||
{% block content %}
|
||||
<div class="container-fluid">
|
||||
<div class="row justify-content-center">
|
||||
<div class="col-md-6">
|
||||
<div class="card">
|
||||
<div class="card-header">
|
||||
<h4 class="mb-0">
|
||||
<i class="fas fa-shield-alt text-warning"></i>
|
||||
Zwei-Faktor-Authentifizierung deaktivieren
|
||||
</h4>
|
||||
</div>
|
||||
<div class="card-body">
|
||||
<div class="alert alert-warning">
|
||||
<h6><i class="fas fa-exclamation-triangle"></i> Warnung</h6>
|
||||
<p class="mb-0">
|
||||
Sie sind dabei, die Zwei-Faktor-Authentifizierung zu deaktivieren.
|
||||
Dies verringert die Sicherheit Ihres Kontos erheblich.
|
||||
</p>
|
||||
</div>
|
||||
|
||||
<h5>Was wird deaktiviert:</h5>
|
||||
<ul class="text-muted mb-4">
|
||||
<li>Authenticator-App Codes</li>
|
||||
<li>Alle bestehenden Backup-Codes</li>
|
||||
<li>Zusätzliche Sicherheitsebene beim Login</li>
|
||||
</ul>
|
||||
|
||||
<h5>Bestätigung erforderlich</h5>
|
||||
<p class="text-muted">
|
||||
Geben Sie Ihr Passwort ein, um die Zwei-Faktor-Authentifizierung
|
||||
zu deaktivieren:
|
||||
</p>
|
||||
|
||||
<form method="post">
|
||||
{% csrf_token %}
|
||||
|
||||
<div class="mb-4">
|
||||
<label for="password" class="form-label">Passwort</label>
|
||||
<input type="password"
|
||||
class="form-control"
|
||||
id="password"
|
||||
name="password"
|
||||
required
|
||||
autocomplete="current-password"
|
||||
autofocus>
|
||||
<div class="form-text">
|
||||
Ihr aktuelles Konto-Passwort
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<div class="d-grid gap-2">
|
||||
<button type="submit" class="btn btn-warning btn-lg">
|
||||
<i class="fas fa-times-circle"></i>
|
||||
Zwei-Faktor-Authentifizierung deaktivieren
|
||||
</button>
|
||||
<a href="{% url 'stiftung:dashboard' %}" class="btn btn-outline-secondary">
|
||||
<i class="fas fa-arrow-left"></i>
|
||||
Abbrechen
|
||||
</a>
|
||||
</div>
|
||||
</form>
|
||||
|
||||
<div class="alert alert-info mt-4">
|
||||
<h6><i class="fas fa-lightbulb"></i> Alternative Empfehlung</h6>
|
||||
<p class="mb-0 small">
|
||||
Statt die 2FA zu deaktivieren, können Sie auch:
|
||||
</p>
|
||||
<ul class="mb-0 small mt-1">
|
||||
<li>Neue Backup-Codes generieren, falls Sie den Zugang verloren haben</li>
|
||||
<li>Die 2FA neu einrichten, falls Probleme mit der App bestehen</li>
|
||||
<li>Den Administrator kontaktieren, wenn Sie Hilfe benötigen</li>
|
||||
</ul>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
{% endblock %}
|
||||
Reference in New Issue
Block a user