Security: Cloud-Auth auf Bearer-JWT umgestellt (IDOR-Luecke geschlossen)
- cloud_service: echter Login gegen baka-auth, Token statt X-API-Key/X-User - app_config: hartcodierten API-Key-Default entfernt - download_service + melo_logger: Bearer-Token statt X-API-Key - navidrome: Passwort in flutter_secure_storage (Keychain/Keystore) - song: token-haltige stream_url wird nicht mehr in SQLite persistiert - cloud_screen: Pfad-Traversal beim Download-Dateinamen gefixt (p.basename) - home_screen: Login-Dialog mit Passwort-Feld, Auto-Sync nutzt restoreLogin
This commit is contained in:
@@ -10,8 +10,9 @@ class Song {
|
||||
final bool istHeruntergeladen;
|
||||
final String hinzugefuegtAm;
|
||||
final String downloadQuelle; // "local", "youtube", "server"
|
||||
final String? streamUrl; // Für Server-Streaming (Navidrome)
|
||||
final String? streamUrl; // Für Server-Streaming (Navidrome) – wird bewusst NICHT in der DB persistiert (Auth-Token-Schutz)
|
||||
int? zuletztPosition; // Sekunden, für Wiederaufnahme
|
||||
Set<int>? tagIds; // Cache für Tag-Filterung (nicht in DB gespeichert)
|
||||
|
||||
Song({
|
||||
this.id,
|
||||
@@ -41,7 +42,7 @@ class Song {
|
||||
'ist_heruntergeladen': istHeruntergeladen ? 1 : 0,
|
||||
'hinzugefuegt_am': hinzugefuegtAm,
|
||||
'download_quelle': downloadQuelle,
|
||||
'stream_url': streamUrl,
|
||||
'stream_url': null, // Token-haltige Stream-URLs nie persistieren (Sicherheit)
|
||||
'zuletzt_position': zuletztPosition,
|
||||
};
|
||||
|
||||
|
||||
Reference in New Issue
Block a user