Skip to content

Instantly share code, notes, and snippets.

@sebadoom
Created November 10, 2017 15:15
Show Gist options
  • Save sebadoom/2b70969e70db5da9a203bebd9cff099f to your computer and use it in GitHub Desktop.
Save sebadoom/2b70969e70db5da9a203bebd9cff099f to your computer and use it in GitHub Desktop.
Using node-forge to create valid jwt.io keys
const jwt = require('jsonwebtoken')
const forge = require('node-forge')
const payload = {
hello: 'world'
}
var keypair = forge.rsa.generateKeyPair({ bits: 2048 });
keypair = {
public: forge.pki.publicKeyToPem(keypair.publicKey, 72),
private: forge.pki.privateKeyToPem(keypair.privateKey, 72)
};
jwt.sign(payload, keypair.private, { algorithm: 'RS256' }, (error, token) => {
if (error) {
console.error(error)
} else {
console.log(token)
console.log()
console.log(keypair.public)
console.log(keypair.private)
console.log()
jwt.verify(
token,
keypair.public,
{ algorithms: ['RS256'] },
(error, payload) => {
if (error) {
console.error(error)
} else {
console.log(payload)
}
}
)
}
})
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment