This commit is contained in:
gpatruno
2026-06-11 17:30:13 +02:00
parent 36b4acb355
commit e45e9f154e
108 changed files with 9163 additions and 167 deletions
+33
View File
@@ -0,0 +1,33 @@
import { SignJWT, jwtVerify } from "jose";
const encoder = new TextEncoder();
/** Secret par défaut uniquement pour le dev local — définissez AUTH_SECRET en prod. */
const DEV_FALLBACK =
"dev-secret-change-me-in-production-min-32-chars-required!!";
export function getJwtSecretKey() {
const secret = process.env.AUTH_SECRET ?? DEV_FALLBACK;
return encoder.encode(secret);
}
export async function createSessionToken(userId: string): Promise<string> {
return new SignJWT({ sub: userId })
.setProtectedHeader({ alg: "HS256" })
.setIssuedAt()
.setExpirationTime("7d")
.sign(getJwtSecretKey());
}
export async function verifySessionToken(
token: string
): Promise<string | null> {
try {
const { payload } = await jwtVerify(token, getJwtSecretKey());
return typeof payload.sub === "string" ? payload.sub : null;
} catch {
return null;
}
}
export const SESSION_COOKIE = "gauffre_session";