diff --git a/src/server/index.ts b/src/server/index.ts index bb91742..285c5ba 100644 --- a/src/server/index.ts +++ b/src/server/index.ts @@ -99,7 +99,14 @@ app.get("/login", oidcAuthMiddleware(), async (c) => c.redirect("/")); app.get("/callback", async (c) => processOAuthCallback(c)); app.get("/logout", async (c) => { await revokeSession(c); - return c.redirect("/login"); + const issuer = process.env.OIDC_ISSUER; + const postLogoutRedirect = new URL("/", c.req.url).origin; + if (issuer) { + return c.redirect( + `${issuer}/session/end?post_logout_redirect_uri=${encodeURIComponent(postLogoutRedirect)}`, + ); + } + return c.redirect("/"); }); // CORS for OAuth and MCP endpoints (required for claude.ai browser-based flows)