diff --git a/src/components/auth/user-auth-form.tsx b/src/components/auth/user-auth-form.tsx index 7db9658..43f5409 100644 --- a/src/components/auth/user-auth-form.tsx +++ b/src/components/auth/user-auth-form.tsx @@ -66,10 +66,30 @@ export function UserAuthForm({ const data = await response.json(); console.log("收到 SSO URL:", data.sso_url); + // 解析 SSO URL 并提取参数 + const ssoUrl = new URL(data.sso_url); + const sso = ssoUrl.searchParams.get("sso"); + const sig = ssoUrl.searchParams.get("sig"); + // 使用表单提交方式跳转 - if (formRef.current) { - formRef.current.action = data.sso_url; - formRef.current.submit(); + if (formRef.current && sso && sig) { + const form = formRef.current; + // 创建隐藏的输入字段 + const ssoInput = document.createElement("input"); + ssoInput.type = "hidden"; + ssoInput.name = "sso"; + ssoInput.value = sso; + form.appendChild(ssoInput); + + const sigInput = document.createElement("input"); + sigInput.type = "hidden"; + sigInput.name = "sig"; + sigInput.value = sig; + form.appendChild(sigInput); + + // 设置表单目标 URL(不带参数) + form.action = `${ssoUrl.origin}${ssoUrl.pathname}`; + form.submit(); } } catch (error) { console.error("登录错误:", error); @@ -87,7 +107,12 @@ export function UserAuthForm({ return (
-
+