场景: 一个 qq 在手机上只能登录一次, 换个手机登录就会被挤下线
但是我的需求是: 多开 qq , 然后可以登录自己的 qq ,qq 都可以同时在线。消息互通,然后设置多开登录的数量, 如 3 次就是一个账号只能同时在线量为 3.
突然想到 其实就是 腾讯视频 这种。
那么这种的话, 这个登录 token 应该如何设计好一点?
都用同一个 token ?
然后记录 token 数量进行判断是否超出限制 ?
还是不同的 token ,计算用户 id 不同的 token 数量?
还要考虑 token 续签 问题。。。。
人麻了。。。
1
IvanLi127 2022-09-16 16:12:15 +08:00
token 弄成一样的就是给自己找麻烦,所以要弄成不一样的。剩下后端在登录时计数呗,就保留最新的 x 个 token 有效,其他的作废。至于其他的,应该和多终端就没啥关系了。
|
2
c332030 2022-09-16 17:58:46 +08:00
套一层,第一层 token 保存登录状态,多开的 token 关联第一层 token ,咋样
|
3
KyleLrz 2022-09-16 18:14:33 +08:00
token 一致,记录登录 log 。超过 3 把最早的踢了(登录校验一下数量)。。一般 token 同一个用户同一时间段不同的话其实问题会挺多的
|
4
PungentSauce 2022-09-16 18:48:40 +08:00
token 加个 device 参数就行,
|
5
qfdk 2022-09-17 02:56:21 +08:00 via iPhone
多终端 肯定要多 token. 你发消息 只要监听账号接受信息就好了, 比如这个用户 abcd ,你只要监听 abcd 接受消息的事件就好了. 登录一个 监听一个 跟你 token 没啥关系啊…… 续签也不难啊 你获取 token 的时候就知道 token 啥时候失效了 失效前 10s 续签就可以了
|
6
xuanbg 2022-09-17 10:49:12 +08:00
能不能多端登录,能不能多开,能开几个,这些是账号设置问题,和 token 有什么关系?根据用户 id 能找到发出去的 token ,能知道是发给什么端的就行了。
|