From 400c32a53900bc548cd1a18ac0ec9ef5f8e33389 Mon Sep 17 00:00:00 2001 From: hsiegeln <37154749+hsiegeln@users.noreply.github.com> Date: Sat, 25 Apr 2026 19:56:10 +0200 Subject: [PATCH] fix: use sessionStorage instead of query param for logout flag MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Logto does exact-match on post_logout_redirect_uri, so ?signed_out caused "not registered" error. Use sessionStorage flag instead — set before signOut, read and cleared on LoginPage mount. Co-Authored-By: Claude Opus 4.6 (1M context) --- ui/src/auth/LoginPage.tsx | 7 ++++--- ui/src/auth/useAuth.ts | 3 ++- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/ui/src/auth/LoginPage.tsx b/ui/src/auth/LoginPage.tsx index 8334f30..ae19012 100644 --- a/ui/src/auth/LoginPage.tsx +++ b/ui/src/auth/LoginPage.tsx @@ -9,10 +9,11 @@ export function LoginPage() { const navigate = useNavigate(); const redirected = useRef(false); - // Check if we arrived here from a logout redirect + // Check if we arrived here from a logout redirect (set by useAuth before signOut) const [signedOut] = useState(() => { - const params = new URLSearchParams(window.location.search); - return params.has('signed_out'); + const flag = sessionStorage.getItem('cameleer:signed_out'); + if (flag) sessionStorage.removeItem('cameleer:signed_out'); + return !!flag; }); useEffect(() => { diff --git a/ui/src/auth/useAuth.ts b/ui/src/auth/useAuth.ts index be3c774..ba42950 100644 --- a/ui/src/auth/useAuth.ts +++ b/ui/src/auth/useAuth.ts @@ -7,7 +7,8 @@ export function useAuth() { const { currentTenantId } = useOrgStore(); const logout = useCallback(() => { - signOut(window.location.origin + '/platform/login?signed_out'); + sessionStorage.setItem('cameleer:signed_out', '1'); + signOut(window.location.origin + '/platform/login'); }, [signOut]); return {