JWT
Guia Rápido
1. Utilizar uma assinatura forte
const fs = require('fs');
const jwt = require('jsonwebtoken');
// use 'utf8' to get string instead of byte array (512 bit key)
const privateKEY = fs.readFileSync('./private.key', 'utf8');
const publicKEY = fs.readFileSync('./public.key', 'utf8');
const payload = {
name: 'Gandalf'
}
// SIGN
const signOptions = {
issuer: "Authorizaxtion/Resource/This server",
subject: "iam@user.me",
audience: "Client_Identity",
expiresIn: "1d",
algorithm: "RS256"
};
const token = jwt.sign(payload, privateKEY, signOptions);
console.log('\n\n=== TOKEN ===');
console.log(token);
// VERIFY
var verifyOptions = {
issuer: "Authorizaxtion/Resource/This server",
subject: "iam@user.me",
audience: "Client_Identity",
expiresIn: "1d",
algorithm: "RS256"
};
const verified = jwt.verify(token, publicKEY, verifyOptions);
console.log('\n\n=== VERIFIED ===');
console.log(verified);
// DECODE
const decoded = jwt.decode(token, { complete: true });
console.log('\n\n=== DECODED ===');
console.log(decoded);
2. Sempre definir o algorítmo no momento de fazer a verificação
Links Úteis
Artigos
Last updated