Aktualisiere Backend-README für lokales Authentifizierungssystem
- Entferne OAuth-Authentifizierung aus Funktionsumfang - Aktualisiere Technologie-Stack (entferne Authlib) - Ändere API-Endpunkte für Authentifizierung - Aktualisiere Datenmodell (füge Passwort-Hash hinzu, entferne GitHub-ID) - Aktualisiere Sicherheitsanforderungen und Umgebungsvariablen 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
parent
f480ed00bd
commit
73ead5939c
@ -4,7 +4,7 @@ Dies ist das Backend für das MYP (Manage Your Printer) Projekt, ein IHK-Abschlu
|
||||
|
||||
## Funktionen
|
||||
|
||||
- OAuth-Authentifizierung mit GitHub
|
||||
- Lokales Authentifizierungssystem (Offline-fähig)
|
||||
- Rollen-basierte Zugriffskontrolle (Admin/User/Guest)
|
||||
- Druckerverwaltung (Hinzufügen, Bearbeiten, Löschen)
|
||||
- Reservierungsverwaltung (Erstellen, Abbrechen, Verlängern)
|
||||
@ -18,7 +18,6 @@ Dies ist das Backend für das MYP (Manage Your Printer) Projekt, ein IHK-Abschlu
|
||||
- **Flask**: Web-Framework
|
||||
- **SQLAlchemy**: ORM für Datenbankinteraktionen
|
||||
- **SQLite**: Datenbank (kann für Produktion durch PostgreSQL ersetzt werden)
|
||||
- **Authlib**: OAuth-Integration für GitHub-Authentifizierung
|
||||
- **Tapo Python Library**: Steuerung der Tapo P115 WLAN-Steckdosen
|
||||
- **Gunicorn**: WSGI HTTP Server für die Produktionsumgebung
|
||||
- **Docker**: Containerisierung der Anwendung
|
||||
@ -79,9 +78,10 @@ Die Anwendung ist dann unter http://localhost:5000 erreichbar.
|
||||
|
||||
### Authentifizierung
|
||||
|
||||
- `GET /auth/login`: GitHub-Anmeldung einleiten
|
||||
- `GET /auth/login/callback`: GitHub-Callback-Endpunkt
|
||||
- `POST /auth/register`: Neuen Benutzer registrieren
|
||||
- `POST /auth/login`: Benutzer anmelden
|
||||
- `POST /auth/logout`: Abmelden und Session beenden
|
||||
- `POST /api/create-initial-admin`: Initialen Administrator erstellen
|
||||
- `GET /api/me`: Aktuelle Benutzerinformationen abrufen
|
||||
|
||||
### Benutzer
|
||||
@ -118,8 +118,8 @@ Die Anwendung ist dann unter http://localhost:5000 erreichbar.
|
||||
|
||||
### Benutzer (User)
|
||||
- id (String UUID, Primary Key)
|
||||
- github_id (Integer, Unique)
|
||||
- username (String, Unique)
|
||||
- password_hash (String)
|
||||
- display_name (String)
|
||||
- email (String, Unique)
|
||||
- role (String, 'admin', 'user' oder 'guest')
|
||||
@ -157,10 +157,11 @@ Die Anwendung steuert Tapo P115 WLAN-Steckdosen, um die Drucker basierend auf Re
|
||||
|
||||
## Sicherheit
|
||||
|
||||
- Die Anwendung verwendet GitHub OAuth für die Authentifizierung
|
||||
- Die Anwendung verwendet ein lokales Authentifizierungssystem mit Passwort-Hashing
|
||||
- Sitzungsdaten werden in Server-Side-Sessions gespeichert
|
||||
- Zugriffskontrollen sind implementiert, um sicherzustellen, dass Benutzer nur auf ihre eigenen Daten zugreifen können
|
||||
- Admin-Benutzer haben Zugriff auf alle Daten und können Systemkonfigurationen ändern
|
||||
- Der erste registrierte Benutzer wird automatisch zum Administrator
|
||||
|
||||
## Logging
|
||||
|
||||
@ -172,9 +173,6 @@ Die folgenden Umgebungsvariablen müssen konfiguriert werden:
|
||||
|
||||
- `SECRET_KEY`: Geheimer Schlüssel für die Session-Verschlüsselung
|
||||
- `DATABASE_URL`: URL zur Datenbank (Standard: SQLite-Datenbank im Instance-Verzeichnis)
|
||||
- `OAUTH_CLIENT_ID`: GitHub OAuth Client ID
|
||||
- `OAUTH_CLIENT_SECRET`: GitHub OAuth Client Secret
|
||||
- `GITHUB_API_BASE_URL`, `GITHUB_AUTHORIZE_URL`, `GITHUB_TOKEN_URL`: URLs für GitHub OAuth (falls GitHub Enterprise verwendet wird)
|
||||
- `TAPO_USERNAME`: Benutzername für die Tapo-Steckdosen
|
||||
- `TAPO_PASSWORD`: Passwort für die Tapo-Steckdosen
|
||||
- `TAPO_DEVICES`: JSON-Objekt mit der Zuordnung von Drucker-IDs zu IP-Adressen der Steckdosen
|
||||
|
Loading…
x
Reference in New Issue
Block a user