fauth-template
Version:
Generate auth templates for your projects
30 lines (24 loc) • 779 B
text/typescript
import { Response } from "express";
import { generateTokens, Payload } from "./jwt";
type Params = {
res: Response;
payload: Payload;
};
export async function createSession({ res, payload }: Params) {
const expiresAt = new Date(Date.now() + 7 * 24 * 60 * 60 * 1000);
const jwtToken = await generateTokens(payload);
res.cookie("auth_access_token", jwtToken.accessToken, {
sameSite: "lax",
httpOnly: true,
expires: new Date(Date.now() + 15 * 60 * 1000),
path: "/",
secure: process.env.NODE_ENV === "production",
});
res.cookie("auth_session_token", jwtToken.refreshToken, {
sameSite: "lax",
httpOnly: true,
expires: expiresAt,
path: "/",
secure: process.env.NODE_ENV === "production",
});
}