summaryrefslogtreecommitdiff
path: root/app/routes/auth.logout.tsx
diff options
context:
space:
mode:
authoryyamashita <yyamashita@hetzner.yyamashita.com>2026-08-22 19:21:12 +0900
committeryyamashita <yyamashita@hetzner.yyamashita.com>2026-08-22 19:21:12 +0900
commit7c80f5ce7e44b95d16e19de40de0f8079377c6b9 (patch)
treead189b750361af8c7cb040b56f42df5d4e5a89ee /app/routes/auth.logout.tsx
Initial commit: todo app with passkey auth and PWA supportHEADmaster
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Diffstat (limited to 'app/routes/auth.logout.tsx')
-rw-r--r--app/routes/auth.logout.tsx18
1 files changed, 18 insertions, 0 deletions
diff --git a/app/routes/auth.logout.tsx b/app/routes/auth.logout.tsx
new file mode 100644
index 0000000..3b60231
--- /dev/null
+++ b/app/routes/auth.logout.tsx
@@ -0,0 +1,18 @@
+import { redirect } from "react-router";
+import type { Route } from "./+types/auth.logout";
+import { getSession, destroySession } from "~/lib/session.server";
+
+export async function loader() {
+ return redirect("/");
+}
+
+export async function action({ request }: Route.ActionArgs) {
+ const session = await getSession(request.headers.get("Cookie"));
+ return redirect("/", {
+ headers: { "Set-Cookie": await destroySession(session) },
+ });
+}
+
+export default function Logout() {
+ return null;
+}