import { ExternalLink, LogIn, ShieldHalf } from "lucide-react"; import { useEffect, useRef } from "react"; import { useAuth } from "react-oidc-context"; import { useNavigate, useSearchParams } from "react-router-dom"; import { Button } from "../../components/ui/button"; import { Card, CardContent, CardDescription, CardHeader, CardTitle, } from "../../components/ui/card"; function LoginPage() { const auth = useAuth(); const navigate = useNavigate(); const [searchParams] = useSearchParams(); const autoStartedRef = useRef(false); const returnTo = searchParams.get("returnTo") || "/"; const shouldAutoLogin = searchParams.get("auto") === "1"; useEffect(() => { if (auth.isAuthenticated) { navigate(returnTo, { replace: true }); } }, [auth.isAuthenticated, navigate, returnTo]); useEffect(() => { if (!shouldAutoLogin) { return; } if (autoStartedRef.current || auth.isLoading || auth.activeNavigator) { return; } autoStartedRef.current = true; void auth.signinRedirect({ state: { returnTo, }, }); }, [auth, auth.activeNavigator, auth.isLoading, returnTo, shouldAutoLogin]); const handleSSOLogin = () => { void auth.signinRedirect({ state: { returnTo: "/", }, }); }; return (

Baron SSO

Admin Control Plane

{auth.error && (
인증 오류가 발생했습니다

{auth.error.message}

)} 관리자 로그인 Baron 통합 인증(SSO)을 통해 관리자 페이지에 접속합니다.

관리자 전역 세션은 보안을 위해 15분간 유지됩니다.
민감한 작업 시 재인증을 요구할 수 있습니다.

인증 정보가 없거나 로그인이 되지 않는 경우
시스템 관리자에게 문의하세요.

); } export default LoginPage;