23 lines
639 B
TypeScript
23 lines
639 B
TypeScript
// pages/api/logout.ts -> /api/logout
|
|
import type { NextApiRequest, NextApiResponse } from 'next';
|
|
import { serialize } from 'cookie';
|
|
|
|
export default function handler(req: NextApiRequest, res: NextApiResponse) {
|
|
const isProd = process.env.NODE_ENV === 'production';
|
|
|
|
const setCookie = serialize('token', '', {
|
|
httpOnly: true,
|
|
secure: isProd,
|
|
sameSite: 'strict', // matches login
|
|
path: '/', // matches login
|
|
maxAge: 0,
|
|
expires: new Date(0),
|
|
});
|
|
|
|
res.setHeader('Set-Cookie', setCookie);
|
|
res.setHeader('Cache-Control', 'no-store');
|
|
return res.status(200).json({ message: 'Logged out' });
|
|
}
|
|
|
|
|