diff --git a/apps/web/src/components/layout/nav-user.tsx b/apps/web/src/components/layout/nav-user.tsx index c0d9f22..9548e67 100644 --- a/apps/web/src/components/layout/nav-user.tsx +++ b/apps/web/src/components/layout/nav-user.tsx @@ -39,7 +39,7 @@ import { clearToken, getClaims, isAuthEnabled, - redirectToPortalLogin, + redirectToPortalLogout, resetPortalHandoff, } from '@/lib/auth' @@ -130,7 +130,7 @@ export function NavUser() { function handleSignOut() { clearToken() resetPortalHandoff() - redirectToPortalLogin() + redirectToPortalLogout() } return ( diff --git a/apps/web/src/lib/auth.ts b/apps/web/src/lib/auth.ts index 5e75b71..2b65228 100644 --- a/apps/web/src/lib/auth.ts +++ b/apps/web/src/lib/auth.ts @@ -146,6 +146,14 @@ export function redirectToPortalLogin(returnTo?: string): boolean { return true } +/** End portal SSO session (refresh cookie + portal token). Do not pass return_to. */ +export function redirectToPortalLogout(): void { + clearToken() + resetPortalHandoff() + const url = `${authPortalUrl()}/logout` + window.location.assign(url) +} + export function parseHashToken(hash: string): { accessToken: string | null expiresAt: string | null