首页 > 解决方案 > 允许用户在节点 js 中一次从两台设备登录

问题描述

我创建了一个注册 api (POST),它从 JWT 生成一个令牌,然后点击登录 api,我可以一次登录 n 个设备。但是我想设置用户可以登录的设备限制一次是两个。我使用过 mongodb 数据库并且只使用用户的 _id 来创建令牌而不是时间。

标签: node.jsmongodbmongoosejwt

解决方案


您可以将令牌存储在数据库中的数组中。

然后每次有人尝试登录时,检查数组中的令牌是否仍然有效,即没有过期。如果其中之一或两者都已过期,则删除过期的令牌。

现在如果数组的长度小于 2,那么您可以给新用户他们的令牌,并将令牌推送到数据库中的数组。但是,如果数组的长度等于 2,那么不要给用户他们的令牌。

您应该查看这篇文章 -每次使用 JWT 登录时允许一个并发用户


推荐阅读