Wenn die /auth/profile-Anfrage 403 (nicht authentifizierter Benutzer) zurückgibt, zeigt die App einen leeren Bildschirm an, anstatt die Startseite darzustellen. Ich möchte, dass die Home-Route normal geladen wird, auch wenn der Benutzer nicht angemeldet ist, und nur beim Zugriff auf geschützte Seiten zu /login umleitet.
Hier ist meine aktuelle AuthProvider-Implementierung:
Code: Select all
const AuthContext = createContext(null);
export const AuthProvider = ({ children }: { children: React.ReactNode }) => {
const userQuery = useSuspenseQuery(fetchUserInfoOptions);
if (userQuery.isLoading) {
return Context Loading...;
}
if (userQuery.isError) {
console.log("Context Error:", userQuery.error.message);
}
const isAuthenticated =
userQuery.data.data && !userQuery.isError ? true : false;
const user = userQuery.data ? userQuery.data.data : null;
return (
{children}
);
};
Was ich will:
Meine Frage:
Wie kann man geschützte Routen mit TanStack Router + TanStack Query richtig einrichten, damit:
- Eine fehlgeschlagene Authentifizierungsabfrage (403) unterbricht nicht die gesamte App
- Nur geschützte Routen führen Umleitungen durch
- Öffentliche Routen werden weiterhin für nicht authentifizierte Benutzer geladen
Empfohlene Beispiele oder Muster wären großartig!
Mobile version