Implement CHIS session validation

This commit is contained in:
ila
2026-07-05 11:13:34 +08:00
parent 07e6c2b9a3
commit 83c1100aa8
7 changed files with 100 additions and 10 deletions
+16
View File
@@ -151,6 +151,22 @@ class ChisLoginClient:
self._ensure_chis_ok(result, "chis_login_failed", "CHIS myApps failed")
return result, _extract_jsessionid(response_headers) or jsessionid
def get_lander_info(self, cookie):
headers = self._headers_without_cookie()
headers["Cookie"] = cookie
payload = {
"serviceId": "chis.myPageService",
"serviceAction": "getLanderInfo",
"method": "execute",
}
result, _ = self.transport.post(
url=f"{self.base_url}/*.jsonRequest?",
headers=headers,
payload=payload,
)
self._ensure_chis_ok(result, "chis_session_invalid", "CHIS session invalid")
return result
def _select_role(self, roles_result):
tokens = roles_result.get("body", {}).get("tokens", [])
for token in tokens: