fix: keep feishu login URL unmodified

maintainer edit: remove nonessential tracking parameters from the Feishu QR login URL after the author confirmed the flow works without them.
This commit is contained in:
chengyongru
2026-06-18 22:38:06 +08:00
committed by Xubin Ren
parent 5dfdd4f892
commit 08a5f4cbbb
2 changed files with 14 additions and 4 deletions
-4
View File
@@ -364,10 +364,6 @@ def _begin_registration(domain: str = "feishu") -> dict:
qr_url = res.get("verification_uri_complete", "")
if not qr_url:
raise RuntimeError("Feishu / Lark registration did not return a login URL")
if "?" in qr_url:
qr_url += "&from=nanobot&tp=nanobot"
else:
qr_url += "?from=nanobot&tp=nanobot"
return {
"device_code": device_code,
"qr_url": qr_url,
+14
View File
@@ -47,6 +47,20 @@ def test_begin_registration_requires_login_url(monkeypatch):
feishu_module._begin_registration()
def test_begin_registration_preserves_login_url(monkeypatch):
login_url = "https://accounts.feishu.cn/login?device_code=device"
monkeypatch.setattr(
feishu_module,
"_post_registration",
lambda _base_url, _body: {
"device_code": "device",
"verification_uri_complete": login_url,
},
)
assert feishu_module._begin_registration()["qr_url"] == login_url
def test_qr_register_returns_none_on_network_error(monkeypatch):
def raise_connect_error(_base_url, _body):
raise httpx.ConnectError("network down")