fix: treat 200 login API response as provisional success
This commit is contained in:
@@ -160,11 +160,14 @@ class AutoLoginManager:
|
|||||||
except Exception:
|
except Exception:
|
||||||
payload = None
|
payload = None
|
||||||
|
|
||||||
api_ok = bool(
|
api_ok = False
|
||||||
login_resp.status == 200
|
if login_resp.status == 200:
|
||||||
and isinstance(payload, dict)
|
# Some environments return non-JSON/empty body for ajax login;
|
||||||
and payload.get("need_login") is False
|
# if status is 200, let auth-status polling decide final success.
|
||||||
)
|
if payload is None:
|
||||||
|
api_ok = True
|
||||||
|
elif isinstance(payload, dict):
|
||||||
|
api_ok = payload.get("need_login") is False
|
||||||
if not api_ok:
|
if not api_ok:
|
||||||
debug_file = await self._dump_debug_page(page)
|
debug_file = await self._dump_debug_page(page)
|
||||||
raise RuntimeError(
|
raise RuntimeError(
|
||||||
|
|||||||
Reference in New Issue
Block a user