UNPKG

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.

18 lines 885 B
import { base64Url } from "./base64"; import { createHMAC } from "./hmac"; import { randomBytes } from "./random"; export async function generateSessionToken({ config, }) { const sessionToken = base64Url.encode(randomBytes(config.session.tokenLengthBytes)); const sessionTokenHash = await createHMAC("SHA-256", "base64urlnopad").sign(config.session.tokenSecret, sessionToken); return { sessionToken, sessionTokenHash, }; } export async function signSessionToken({ sessionToken, config, }) { return await createHMAC("SHA-256", "base64urlnopad").sign(config.session.tokenSecret, sessionToken); } export async function verifySessionToken({ sessionToken, sessionTokenHash, config, }) { return await createHMAC("SHA-256", "base64urlnopad").verify(config.session.tokenSecret, sessionToken, sessionTokenHash); } //# sourceMappingURL=sessionToken.js.map