Files
headplane/app/routes/auth/logout.ts
T
2026-03-07 17:10:34 -05:00

26 lines
682 B
TypeScript

import { type ActionFunctionArgs, redirect } from "react-router";
import type { LoadContext } from "~/server";
export async function loader() {
return redirect("/machines");
}
export async function action({ request, context }: ActionFunctionArgs<LoadContext>) {
try {
await context.auth.require(request);
} catch {
redirect("/login");
}
// When API key is disabled, we need to explicitly redirect
// with a logout state to prevent auto login again.
const url = context.config.oidc?.disable_api_key_login ? "/login?s=logout" : "/login";
return redirect(url, {
headers: {
"Set-Cookie": await context.auth.destroySession(request),
},
});
}