diff --git a/ui/litellm-dashboard/src/app/(dashboard)/hooks/useLogout.ts b/ui/litellm-dashboard/src/app/(dashboard)/hooks/useLogout.ts index 3bf0a0228cc..91ac360f38e 100644 --- a/ui/litellm-dashboard/src/app/(dashboard)/hooks/useLogout.ts +++ b/ui/litellm-dashboard/src/app/(dashboard)/hooks/useLogout.ts @@ -13,11 +13,11 @@ export function useLogout(accessToken: string | null): () => Promise { useProxySettings(accessToken); return async () => { - const settings = await ensureProxySettings(queryClient, accessToken).catch(() => null); clearTokenCookies(); clearStoredReturnUrl(); localStorage.removeItem("litellm_selected_worker_id"); localStorage.removeItem("litellm_worker_url"); + const settings = await ensureProxySettings(queryClient, accessToken).catch(() => null); window.location.replace(settings?.PROXY_LOGOUT_URL || getLoginUrl(getProxyBaseUrl())); }; } diff --git a/ui/litellm-dashboard/src/components/navbar.test.tsx b/ui/litellm-dashboard/src/components/navbar.test.tsx index 8df278d894a..16f62a19a71 100644 --- a/ui/litellm-dashboard/src/components/navbar.test.tsx +++ b/ui/litellm-dashboard/src/components/navbar.test.tsx @@ -344,6 +344,11 @@ describe("Navbar", () => { const user = userEvent.setup(); vi.mocked(window.location.replace).mockClear(); + const cookieUtils = vi.mocked(await import("@/utils/cookieUtils")); + const returnUrlUtils = vi.mocked(await import("@/utils/returnUrlUtils")); + cookieUtils.clearTokenCookies.mockClear(); + returnUrlUtils.clearStoredReturnUrl.mockClear(); + const proxyUtils = vi.mocked(await import("@/utils/proxyUtils")); let resolveSettings!: (value: { PROXY_BASE_URL: string; PROXY_LOGOUT_URL: string }) => void; proxyUtils.fetchProxySettings.mockImplementationOnce( @@ -364,6 +369,8 @@ describe("Navbar", () => { await user.click(screen.getByText("Logout")); expect(window.location.replace).not.toHaveBeenCalled(); + expect(cookieUtils.clearTokenCookies).toHaveBeenCalled(); + expect(returnUrlUtils.clearStoredReturnUrl).toHaveBeenCalled(); resolveSettings({ PROXY_BASE_URL: "", PROXY_LOGOUT_URL: "https://sso.example.com/logout" });