refactor: 简化用户授权组件的登录逻辑,移除不必要的延迟和重定向处理

This commit is contained in:
wood chen 2025-02-21 16:27:23 +08:00
parent 3f193650d2
commit a5a9f2e779

View File

@ -32,36 +32,21 @@ export function UserAuthorize({
const sso = url.searchParams.get("sso");
const sig = url.searchParams.get("sig");
console.log("准备登录,参数:", {
sso: sso?.substring(0, 20) + "...",
sig: sig?.substring(0, 20) + "...",
});
if (!sso || !sig) {
throw new Error("缺少必要的认证参数");
}
// 直接调用signIn它会处理SSO回调中的return_sso_url
await signIn({ sso, sig });
// 更新 session
// 更新session状态
await update();
// 添加更长的延迟确保session完全更新
await new Promise((resolve) => setTimeout(resolve, 1000));
// 检查URL中是否存在重定向参数
const redirectTo = url.searchParams.get("redirect_to");
if (redirectTo) {
// 如果存在重定向参数则跳转到指定的URL
window.location.href = redirectTo;
} else {
// 如果不存在重定向参数,则刷新当前页面状态
router.refresh();
}
setIsLoading(false);
} catch (error) {
console.error("登录过程出错:", error);
setError(error);
setIsLoading(false);
}
}, [isLoading, update, router]);
}, [isLoading, update]);
useEffect(() => {
const timer = setTimeout(signInCallback, 5);