diff --git a/source/server/routes/auth.ts b/source/server/routes/auth.ts index e968035..2588c0e 100644 --- a/source/server/routes/auth.ts +++ b/source/server/routes/auth.ts @@ -137,6 +137,16 @@ router.post( '/logout', ( req, res ) => res.json( { ok: true } ); } ); +// GET /api/auth/logout?redirect=... — browser clients (link/redirect-based logout) +router.get( '/logout', ( req, res ) => +{ + const redirectTo = req.query.redirect as string | undefined; + const token = req.cookies?.refreshToken as string | undefined; + if ( token ) refreshTokens.delete( token ); + clearAuthCookies( res ); + res.redirect( redirectTo ?? '/login.html' ); +} ); + // POST /api/auth/refresh — non-browser clients (token in body) router.post( '/refresh', ( req, res ) => {