From c27678ce060af8d0e8f487ea73b4633109166708 Mon Sep 17 00:00:00 2001 From: jxxghp Date: Wed, 15 Jul 2026 17:38:31 +0800 Subject: [PATCH] fix(ugreen): send client id during login --- app/modules/ugreen/api.py | 3 ++- tests/test_ugreen_api.py | 8 ++++++-- 2 files changed, 8 insertions(+), 3 deletions(-) diff --git a/app/modules/ugreen/api.py b/app/modules/ugreen/api.py index 1e1f12ed..e33baa1c 100644 --- a/app/modules/ugreen/api.py +++ b/app/modules/ugreen/api.py @@ -161,13 +161,14 @@ class Api: def _common_headers(self) -> dict[str, str]: """ - 获取绿联 Web 端通用请求头。 + 获取绿联 Web 端通用请求头,兼容新版登录客户端标识。 """ return { "Accept": "application/json, text/plain, */*", "Client-Id": self._client_id, "Client-Version": self._client_version, "UG-Agent": self._ug_agent, + "UG-Client-Id": self._client_id, "X-Specify-Language": self._language, } diff --git a/tests/test_ugreen_api.py b/tests/test_ugreen_api.py index 54cc17c4..810a4434 100644 --- a/tests/test_ugreen_api.py +++ b/tests/test_ugreen_api.py @@ -101,8 +101,8 @@ def test_request_json_default_verify_ssl_true() -> None: assert fake_session.calls[1][1].get("verify") is True -def test_login_logout_follow_verify_ssl_flag() -> None: - """登录与登出请求应沿用用户配置的证书校验开关""" +def test_login_logout_requests_follow_client_configuration() -> None: + """登录与登出请求应沿用证书配置并携带一致的客户端标识""" api = Api(host="https://example.com", verify_ssl=False) fake_session = _FakeSession( get_responses=[_FakeResponse({})], @@ -141,6 +141,10 @@ def test_login_logout_follow_verify_ssl_flag() -> None: assert fake_session.calls[0][1].get("verify") is False assert fake_session.calls[1][1].get("verify") is False assert fake_session.calls[2][1].get("verify") is False + check_headers = fake_session.calls[0][1]["headers"] + login_headers = fake_session.calls[1][1]["headers"] + assert check_headers["UG-Client-Id"] == check_headers["Client-Id"] + assert login_headers["UG-Client-Id"] == check_headers["UG-Client-Id"] def test_login_accepts_token_id_and_reuses_check_public_key() -> None: