fix: Login-Fehlermeldung zeigt jetzt saubere Server-Nachricht, Passwort-Reset Baka
This commit is contained in:
@@ -64,35 +64,23 @@ class AuthService {
|
|||||||
|
|
||||||
if (response.statusCode == 200) {
|
if (response.statusCode == 200) {
|
||||||
final data = jsonDecode(response.body);
|
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?;
|
_token = data['token'] as String?;
|
||||||
_user = user;
|
_user = user;
|
||||||
|
|
||||||
if (_token != null && _token!.isNotEmpty) {
|
if (_token != null && _token!.isNotEmpty) {
|
||||||
// Token speichern
|
|
||||||
final prefs = await SharedPreferences.getInstance();
|
final prefs = await SharedPreferences.getInstance();
|
||||||
await prefs.setString('baka_token', _token!);
|
await prefs.setString('baka_token', _token!);
|
||||||
await prefs.setString('baka_user', _user);
|
await prefs.setString('baka_user', _user);
|
||||||
|
|
||||||
MeloLogger().aktion('auth_login_ok', {'user': _user});
|
MeloLogger().aktion('auth_login_ok', {'user': _user});
|
||||||
return AuthResult.ok;
|
return AuthResult.ok;
|
||||||
}
|
}
|
||||||
// 200 aber kein Token — zeige was der Server wirklich geschickt hat
|
// 200 aber kein Token → Fehler vom Server
|
||||||
final preview = response.body.length > 100
|
final serverMsg = data['message'] as String? ?? data['error'] as String? ?? 'Unbekannt';
|
||||||
? '${response.body.substring(0, 100)}...'
|
return AuthResult.fehlgeschlagen(serverMsg);
|
||||||
: response.body;
|
|
||||||
MeloLogger().fehler('auth_login_no_token', preview);
|
|
||||||
return AuthResult.fehlgeschlagen('Server: $preview');
|
|
||||||
}
|
}
|
||||||
|
|
||||||
// Nicht-200: Fehler vom Server parsen
|
// Nicht-200
|
||||||
String fehler = 'Unbekannter Fehler';
|
String fehler = 'Login fehlgeschlagen (${response.statusCode})';
|
||||||
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})';
|
|
||||||
}
|
|
||||||
|
|
||||||
MeloLogger().fehler('auth_login_fail', fehler);
|
MeloLogger().fehler('auth_login_fail', fehler);
|
||||||
return AuthResult.fehlgeschlagen(fehler);
|
return AuthResult.fehlgeschlagen(fehler);
|
||||||
|
|||||||
Reference in New Issue
Block a user