jwt-token-pair-generator
Version:
A secure RSA token pair generator CLI and library for generating and storing RSA keys for JWT
29 lines (23 loc) • 1.07 kB
text/typescript
import { Command } from "commander";
import SecureKeyGenerator from "./index";
const program = new Command();
program
.version("1.0.0")
.description("Generate RSA token key pairs for access and refresh tokens")
.option("--keyDir <directory>", "Directory where keys will be stored", "secure-keys")
.option("--envFile <filename>", "Environment file to update", ".env")
.option("--permissions <mode>", "File permissions in octal (e.g. 600)", "644")
.option("--modulus <length>", "RSA modulus length", "2048")
.option("--log <level>", "Logging level (default: minimal, use 'all' for verbose)", "minimal")
.parse(process.argv);
const options = program.opts();
const config = {
keyDirectory: options.keyDir === "off" ? null : options.keyDir,
envFileName: options.envFile,
filePermissions: parseInt(options.permissions, 8),
modulusLength: parseInt(options.modulus, 10),
logLevel: options.log === "off" ? "fatal" : options.log === "all" ? "trace" : "warn",
};
const generator = new SecureKeyGenerator(config);
generator.generate();