CODE · 0.7 KB
api/manage-session.js
Workspace snapshot · 09/04 13:35
import { exchangeManageToken, manageCookieName } from "./manage-auth.js";
export default async function handler(req, res) {
if (req.method === "DELETE") {
res.setHeader("Set-Cookie", `${manageCookieName}=; Path=/; HttpOnly; SameSite=Strict; Secure; Max-Age=0`);
return res.status(204).end();
}
if (req.method !== "POST") return res.status(405).json({ error: "POSTまたはDELETEのみ利用できます" });
try {
const assertion = await exchangeManageToken(req.body?.token);
res.setHeader("Set-Cookie", `${manageCookieName}=${assertion}; Path=/; HttpOnly; SameSite=Strict; Secure; Max-Age=28800`);
return res.status(200).json({ ok: true });
} catch (error) { return res.status(error.status || 401).json({ error: error.message }); }
}