17 lines
520 B
JavaScript
Executable File
17 lines
520 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');
|