18 lines
521 B
JavaScript
Executable File
18 lines
521 B
JavaScript
Executable File
#!/usr/bin/env node
|
|
|
|
import { exportJWK, exportPKCS8, generateKeyPair } from "jose";
|
|
|
|
const keys = await generateKeyPair("RS256", {
|
|
extractable: true,
|
|
});
|
|
const privateKey = await exportPKCS8(keys.privateKey);
|
|
const publicKey = await exportJWK(keys.publicKey);
|
|
const jwks = JSON.stringify({ keys: [{ use: "sig", ...publicKey }] });
|
|
|
|
process.stdout.write(
|
|
`JWT_PRIVATE_KEY="${privateKey.trimEnd().replace(/\n/g, " ")}"`,
|
|
);
|
|
process.stdout.write("\n");
|
|
process.stdout.write(`JWKS=${jwks}`);
|
|
process.stdout.write("\n");
|