import { sha256 } from '@oslojs/crypto/sha2'; import { encodeBase64url, encodeHexLowerCase } from '@oslojs/encoding'; const DAY_IN_MS = 1000 * 60 * 60 * 24; export const sessionCookieName = 'auth-session'; export function generateSessionToken() { const bytes = crypto.getRandomValues(new Uint8Array(18)); const token = encodeBase64url(bytes); return token; } /** * @param {import("@sveltejs/kit").RequestEvent} event * @param {string} token * @param {Date} expiresAt */ export function setSessionTokenCookie(event, token, expiresAt) { event.cookies.set(sessionCookieName, token, { expires: expiresAt, path: '/' }); } /** @param {import("@sveltejs/kit").RequestEvent} event */ export function deleteSessionTokenCookie(event) { event.cookies.delete(sessionCookieName, { path: '/' }); }