node.js - 允许用户在节点 js 中一次从两台设备登录
问题描述
我创建了一个注册 api (POST),它从 JWT 生成一个令牌,然后点击登录 api,我可以一次登录 n 个设备。但是我想设置用户可以登录的设备限制一次是两个。我使用过 mongodb 数据库并且只使用用户的 _id 来创建令牌而不是时间。
解决方案
您可以将令牌存储在数据库中的数组中。
然后每次有人尝试登录时,检查数组中的令牌是否仍然有效,即没有过期。如果其中之一或两者都已过期,则删除过期的令牌。
现在如果数组的长度小于 2,那么您可以给新用户他们的令牌,并将令牌推送到数据库中的数组。但是,如果数组的长度等于 2,那么不要给用户他们的令牌。
您应该查看这篇文章 -每次使用 JWT 登录时允许一个并发用户。
推荐阅读
- c++ - 为什么要对共享库本身中定义的符号使用全局偏移表?
- javascript - 使用扩展和内容脚本注入 Chrome 的脚本不会首先执行
- java - SQLLoader 704 通过 JAVA 加载时发生内部错误
- mercurial - Mercurial HG - 如何从未提交的文件中清除 repo 并保留在当前的变更集中?
- javascript - 如何解决参数内的 URL 中有撇号
- kivy - 如何在 kivy 项目中使用或添加 android library(aar) 文件?
- c# - microsoft botframework-v4 的兼容性
- c# - 尝试使用从 URL 接收的 3 个参数制作控制器
- javascript - 匹配 ID 和检查属性的数组过滤方法是否存在
- linux - 从 32 位用户空间访问 36 位物理地址