V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
hhhhhh123
V2EX  ›  程序员

如何设计 多端登录 token 问题

  •  
  •   hhhhhh123 · 2022-09-16 15:23:54 +08:00 · 1994 次点击
    这是一个创建于 793 天前的主题,其中的信息可能已经有所发展或是发生改变。

    场景: 一个 qq 在手机上只能登录一次, 换个手机登录就会被挤下线
    但是我的需求是: 多开 qq , 然后可以登录自己的 qq ,qq 都可以同时在线。消息互通,然后设置多开登录的数量, 如 3 次就是一个账号只能同时在线量为 3.
    突然想到 其实就是 腾讯视频 这种。
    那么这种的话, 这个登录 token 应该如何设计好一点?
    都用同一个 token ?
    然后记录 token 数量进行判断是否超出限制 ? 还是不同的 token ,计算用户 id 不同的 token 数量?
    还要考虑 token 续签 问题。。。。
    人麻了。。。

    6 条回复    2022-09-17 10:49:12 +08:00
    IvanLi127
        1
    IvanLi127  
       2022-09-16 16:12:15 +08:00
    token 弄成一样的就是给自己找麻烦,所以要弄成不一样的。剩下后端在登录时计数呗,就保留最新的 x 个 token 有效,其他的作废。至于其他的,应该和多终端就没啥关系了。
    c332030
        2
    c332030  
       2022-09-16 17:58:46 +08:00
    套一层,第一层 token 保存登录状态,多开的 token 关联第一层 token ,咋样
    KyleLrz
        3
    KyleLrz  
       2022-09-16 18:14:33 +08:00
    token 一致,记录登录 log 。超过 3 把最早的踢了(登录校验一下数量)。。一般 token 同一个用户同一时间段不同的话其实问题会挺多的
    PungentSauce
        4
    PungentSauce  
       2022-09-16 18:48:40 +08:00
    token 加个 device 参数就行,
    qfdk
        5
    qfdk  
       2022-09-17 02:56:21 +08:00 via iPhone
    多终端 肯定要多 token. 你发消息 只要监听账号接受信息就好了, 比如这个用户 abcd ,你只要监听 abcd 接受消息的事件就好了. 登录一个 监听一个 跟你 token 没啥关系啊…… 续签也不难啊 你获取 token 的时候就知道 token 啥时候失效了 失效前 10s 续签就可以了
    xuanbg
        6
    xuanbg  
       2022-09-17 10:49:12 +08:00
    能不能多端登录,能不能多开,能开几个,这些是账号设置问题,和 token 有什么关系?根据用户 id 能找到发出去的 token ,能知道是发给什么端的就行了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2757 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 07:48 · PVG 15:48 · LAX 23:48 · JFK 02:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.