【发布时间】:2020-09-26 14:18:16
【问题描述】:
如果令牌被泄露,您无能为力。除非令牌过期,否则用户可以访问所有内容。我正在考虑一种可能提供额外安全层的方法,但不确定?
如果我们在负载中添加一个 IP 地址,并在服务器上从请求标头中进行比较呢?
假设我的有效载荷对象看起来像 -
{
user_id: 'xyz',
email: 'john@doe.com',
user_ip: '89.102.22.95'
}
在服务器上,我们将比较保存在负载中的 IP 和发出请求的 IP。
if (user_ip == req.connection.remoteAddress) {
/* It's a valid request */
} else {
/* Verify Identify using an email confirmation */
}
这基本上是说,即使令牌已被泄露,我们也会有一个额外的安全层,它将与生成令牌的 IP 和发出请求的 IP 相匹配。
这是一个很好的解决方案,让它更安全吗?
【问题讨论】:
标签: node.js security authentication jwt authorization