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.
15 lines • 639 B
JavaScript
import { base64Url } from "./base64";
import { createHMAC } from "./hmac";
import { randomBytes } from "./random";
export async function generateCsrfToken({ config, }) {
const csrfToken = base64Url.encode(randomBytes(config.csrf.tokenLengthBytes));
const csrfTokenHash = await createHMAC("SHA-256", "base64urlnopad").sign(config.csrf.tokenSecret, csrfToken);
return {
csrfToken,
csrfTokenHash,
};
}
export async function verifyCsrfToken({ token, hash, config, }) {
return await createHMAC("SHA-256", "base64urlnopad").verify(config.csrf.tokenSecret, token, hash);
}
//# sourceMappingURL=csrfToken.js.map