Mensagem de erro: "erro": "blacklist.adiciona is not a function"
manipula-blacklist.js
const blacklist = require('./blacklist');
const { promisify } = require('util');
const existsAsync = promisify(blacklist.exists).bind(blacklist);
const setAsync = promisify(blacklist.exists).bind(blacklist);
const jwt = require('jsonwebtoken');
const { createHash } = require('crypto');
function geraTokenHash(token) {
return createHash('sha256')
.update(token)
.digest('hex');
}
module.exports = {
adiciona: async token => {
const dataExpiracao = jwt.decode(token).exp;
const tokenHash = geraTokenHash(token);
await setAsync(tokenHash, '');
blacklist.expireat(tokenHash, dataExpiracao);
},
contemToken: async token => {
const tokenHash = geraTokenHash(token);
const resultado = await existsAsync(tokenHash);
return resultado === 1;
}
};
usuarios-controlador.js
module.exports = {
... logout: async (req, res) => { try { const token = req.token; await blacklist.adiciona(token); res.status(204).send(); } catch (erro) { res.status(500).json({ erro: erro.message }); }
}, ...