我正在为交易生成代币(如传输数据)。但是,我想在一次交易后使令牌无效。用户不应能够将同一令牌用于下一笔交易。
有人可以指导我如何实现这一目标吗?
tokenGenerate: function (data, timeout) {
let tokenG = jwt.sign(data, config.jwtSecret, {
expiresIn: timeout // expires in 1 hour
});
let newToken = new Token({
value: data.value,
token: tokenG
});
newToken.save();
return tokenG;
}
你在这里有几个选择,但基本上你正在寻找这里提供的答案:
- 如何撤销 JWT 令牌?
- 使 JSON Web 令牌失效
除此之外,如果您正在处理可以进行时间盒的操作,只需快速使令牌过期,并让用户请求另一个令牌。
但是,如果要确保每个令牌仅使用一次,则甚至可能不想开始使用JWT。它们不是为此而设计的。