aegis-auth
Version:
A credentials-based auth solution for Next.js (and other Node projects) with IP rate-limiting, account lockouts, and sessions in DB.
23 lines • 860 B
JavaScript
import { parse as parseCookie, serialize as serializeCookie } from "cookie";
export function createCsrfCookie({ csrfToken, config, }) {
return serializeCookie(config.csrf.cookieName, csrfToken, {
maxAge: config.csrf.maxAgeSeconds,
secure: config.csrf.cookieSecure,
httpOnly: config.csrf.cookieHttpOnly,
sameSite: config.csrf.cookieSameSite,
path: "/",
});
}
export function clearCsrfCookie({ config, }) {
return serializeCookie(config.csrf.cookieName, "", {
maxAge: 0,
secure: config.csrf.cookieSecure,
httpOnly: config.csrf.cookieHttpOnly,
sameSite: config.csrf.cookieSameSite,
});
}
export function getCsrfToken({ cookieHeader, config, }) {
const csrfToken = parseCookie(cookieHeader)[config.csrf.cookieName];
return csrfToken;
}
//# sourceMappingURL=csrf.js.map