import { ShieldHalf } from "lucide-react"; import { useEffect } from "react"; import { useNavigate, useSearchParams } from "react-router-dom"; function AuthCallbackPage() { const navigate = useNavigate(); const [searchParams] = useSearchParams(); useEffect(() => { const token = searchParams.get("token"); if (token) { window.localStorage.setItem("admin_session", token); // 만약 팝업창에서 실행 중이라면 부모 창에 알리고 닫기 if (window.opener) { window.opener.postMessage({ type: "LOGIN_SUCCESS", token }, "*"); window.close(); } else { // 일반 리다이렉트 방식인 경우 홈으로 이동 navigate("/", { replace: true }); } } else { console.error("No token found in callback URL"); navigate("/login", { replace: true }); } }, [navigate, searchParams]); return (
인증 완료 중...

세션을 동기화하고 있습니다.

); } export default AuthCallbackPage;