修复中控
This commit is contained in:
@@ -582,7 +582,9 @@ def _require_hub_logged_in(request: Request) -> None:
|
||||
|
||||
|
||||
@app.get("/api/instance/open-url")
|
||||
def api_instance_open_url(request: Request, exchange_id: str, next: str = "/"):
|
||||
def api_instance_open_url(
|
||||
request: Request, exchange_id: str, next: str = "/", embed: str = ""
|
||||
):
|
||||
"""已登录中控时生成实例 SSO 打开链接(2h 有效、单次使用,复用 HUB_BRIDGE_TOKEN)。"""
|
||||
_require_hub_logged_in(request)
|
||||
if not HUB_BRIDGE_TOKEN:
|
||||
@@ -600,7 +602,10 @@ def api_instance_open_url(request: Request, exchange_id: str, next: str = "/"):
|
||||
token = mint_hub_sso_token(ex_key, nxt)
|
||||
if not token:
|
||||
raise HTTPException(status_code=503, detail="签发 SSO 失败")
|
||||
q = urlencode({"token": token, "next": nxt})
|
||||
params = {"token": token, "next": nxt}
|
||||
if (embed or "").strip().lower() in ("1", "true", "yes", "on"):
|
||||
params["embed"] = "1"
|
||||
q = urlencode(params)
|
||||
return {
|
||||
"ok": True,
|
||||
"url": f"{base}/hub-sso?{q}",
|
||||
|
||||
Reference in New Issue
Block a user