fix: seed_iaop_menus.py 适配 FastAPI>=0.13x(HTTPBasicCredentials 绑定 query 参数,登录带 username/password)
This commit is contained in:
@@ -28,6 +28,7 @@ import getpass
|
||||
import json
|
||||
import sys
|
||||
import urllib.error
|
||||
import urllib.parse
|
||||
import urllib.request
|
||||
|
||||
# ---- iAOP 模块注册表(镜像 web/shared/session.js 的 MODULES,顺序即菜单顺序) ----
|
||||
@@ -61,7 +62,10 @@ class FbaClient:
|
||||
def __init__(self, base: str, username: str, password: str):
|
||||
self.base = base.rstrip("/")
|
||||
cred = base64.b64encode(f"{username}:{password}".encode()).decode()
|
||||
d = self._req("POST", "/auth/login/swagger",
|
||||
# FastAPI >= 0.13x 将 HTTPBasicCredentials 绑定到 query 参数,
|
||||
# 登录需带 ?username=&password=(Basic 头仍保留,双通道兼容)。
|
||||
q = urllib.parse.urlencode({"username": username, "password": password})
|
||||
d = self._req("POST", f"/auth/login/swagger?{q}",
|
||||
headers={"Authorization": f"Basic {cred}"})
|
||||
self.token = d["data"]["access_token"]
|
||||
print(f"[ok] 登录成功:{username}({d['data']['user']['username']})")
|
||||
|
||||
Reference in New Issue
Block a user