fix: Login-Fehlermeldung zeigt jetzt saubere Server-Nachricht, Passwort-Reset Baka

This commit is contained in:
Dustin
2026-08-01 18:08:10 +02:00
parent 30c85f823e
commit a7dbf5e9e1
+5 -17
View File
@@ -64,35 +64,23 @@ class AuthService {
if (response.statusCode == 200) {
final data = jsonDecode(response.body);
MeloLogger().zustand('auth_response', {'body': response.body.substring(0, response.body.length.clamp(0, 200))});
_token = data['token'] as String?;
_user = user;
if (_token != null && _token!.isNotEmpty) {
// Token speichern
final prefs = await SharedPreferences.getInstance();
await prefs.setString('baka_token', _token!);
await prefs.setString('baka_user', _user);
MeloLogger().aktion('auth_login_ok', {'user': _user});
return AuthResult.ok;
}
// 200 aber kein Token — zeige was der Server wirklich geschickt hat
final preview = response.body.length > 100
? '${response.body.substring(0, 100)}...'
: response.body;
MeloLogger().fehler('auth_login_no_token', preview);
return AuthResult.fehlgeschlagen('Server: $preview');
// 200 aber kein Token → Fehler vom Server
final serverMsg = data['message'] as String? ?? data['error'] as String? ?? 'Unbekannt';
return AuthResult.fehlgeschlagen(serverMsg);
}
// Nicht-200: Fehler vom Server parsen
String fehler = 'Unbekannter Fehler';
try {
final data = jsonDecode(response.body);
fehler = data['error'] as String? ?? data['message'] as String? ?? 'Login fehlgeschlagen (${response.statusCode})';
} catch (_) {
fehler = 'Server nicht erreichbar (${response.statusCode})';
}
// Nicht-200
String fehler = 'Login fehlgeschlagen (${response.statusCode})';
MeloLogger().fehler('auth_login_fail', fehler);
return AuthResult.fehlgeschlagen(fehler);