ФУНКЦИИ - NODEDC LAUNCHER: direct auth redirect

This commit is contained in:
DCCONSTRUCTIONS
2026-05-04 21:39:56 +03:00
parent a1fb2d0f83
commit a1e8cacd88
3 changed files with 47 additions and 10 deletions
+8 -5
View File
@@ -62,7 +62,6 @@ export function LauncherApp() {
const [adminOpen, setAdminOpen] = useState(false);
const [authSession, setAuthSession] = useState<AuthSession | null>(null);
const [authApps, setAuthApps] = useState<LauncherAuthApp[] | null>(null);
const [authError, setAuthError] = useState<string | null>(null);
const [profileSettingsOpen, setProfileSettingsOpen] = useState(false);
const [pendingAccessAssignments, setPendingAccessAssignments] = useState<Record<string, AccessAssignmentValue>>({});
@@ -160,7 +159,6 @@ export function LauncherApp() {
if (!isMounted) return;
setAuthSession(session);
setAuthError(null);
if (!session.authenticated) {
setAuthApps([]);
@@ -178,7 +176,7 @@ export function LauncherApp() {
setAuthSession({ authenticated: false, loginUrl: "/auth/login" });
setAuthApps([]);
setAuthError(error instanceof Error ? error.message : "Не удалось проверить сессию платформы");
console.warn(error instanceof Error ? error.message : "Не удалось проверить сессию платформы");
});
return () => {
@@ -186,6 +184,12 @@ export function LauncherApp() {
};
}, []);
useEffect(() => {
if (!authSession || authSession.authenticated) return;
window.location.replace(authSession.loginUrl || "/auth/login");
}, [authSession]);
useEffect(() => {
if (!authSession?.authenticated) return;
@@ -247,7 +251,6 @@ export function LauncherApp() {
if (!isMounted) return;
setAuthSession(nextSession);
setAuthError(null);
if (!nextSession.authenticated) {
setAuthApps([]);
@@ -473,7 +476,7 @@ export function LauncherApp() {
}
if (!authSession.authenticated) {
return <AuthStateScreen title="Вход на платформу NODE.DC" description="Войдите, чтобы открыть рабочую область и доступы." error={authError} loginUrl={authSession.loginUrl} />;
return null;
}
return (