请教关于 web 端支持多端登录的方案 - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
NULL2020
V2EX    Java

请教关于 web 端支持多端登录的方案

  •  
  •   NULL2020 Sep 22, 2020 3770 views
    This topic created in 2043 days ago, the information mentioned may be changed or developed.
    公司项目准备做 web 端,之前都是移动端,后端登录这块的方案只是简单的 JWT,token 存 redis,前端请求过来会判断是否跟缓存里的一致,移动端不支持多端登录。

    现在产品要求 web 端要支持多端登录,并且某一端退出不会影响另一端,类似于微博,刚刚用 chrome 和 safari 测试了下同时登录,确实能做到多端在线,并且退出不影响另一个。

    请教下业界一般用什么方案实现?后端技术栈是 Springboot,暂时没用到 Shiro & Security .
    12 replies    2020-09-30 16:37:50 +08:00
    noe132
        1
    noe132  
       Sep 22, 2020
    都 jwt 了,还放在缓存里,这和 session 有什么区别?
    kop1989
        2
    kop1989  
       Sep 22, 2020
    我理解的多端登录就是放开 token 与账号的 1 对 1 关系,用每次打开页面生成的一个随机 ID 或者之类的+账号,与 token 一对一。
    既原来的逻辑是账号 A 对应 tokenA,tokenA 失效刷新得到 TokenB,此时账号 A 只能用 TokenB 请求。
    而现在是账号 A+123 对应 tokenA,账号 A+234 对应 tokenP,他俩分别更新失效 token 互不影响。
    liuhuan475
        3
    liuhuan475  
       Sep 22, 2020
    jwt 不是能解密吗?存 redis 是干啥呢
    opengps
        4
    opengps  
       Sep 22, 2020
    每次登陆,单独一个 token,每次断开,只清理当前 token
    zachlhb
        5
    zachlhb  
       Sep 22, 2020 via Android
    各端建立不同的登录池,生成的 token 前加上端标识符,只在相同端里进行单点登录验证
    jay4497
        6
    jay4497  
       Sep 22, 2020
    最原始的 session 不就可以么
    NULL2020
        7
    NULL2020  
    OP
       Sep 22, 2020
    @noe132 #1
    @liuhuan475 #3 后端加了一层根据 ua + uid 判断 token 是否一致
    HashV2
        8
    HashV2  
       Sep 22, 2020
    token 签发之后就不管了, 多次登录多次签发
    HuberyPang
        9
    HuberyPang  
       Sep 22, 2020
    jwt 有配置私钥解密,不需要存 redis,直接解密校验就行,配置个过期时间,每次登录时都生成一个 token 回去就行,这样多少端都不会影响。
    zoharSoul
        10
    zoharSoul  
       Sep 22, 2020
    你先讲讲你怎么做到不支持的...?

    理论上本来就是支持多端同时的, 不允许才需要特殊处理啊
    NULL2020
        11
    NULL2020  
    OP
       Sep 22, 2020
    @HuberyPang #9
    @zoharSoul #10
    嗯嗯,大概是我想复杂了。。
    xixinimei
        12
    xixinimei  
       Sep 30, 2020
    我也想问 1 楼想问的
    About     Help     Advertise     Blog     API     FAQ     Solana     5590 Online   Highest 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 66ms UTC 09:20 PVG 17:20 LAX 02:20 JFK 05:20
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86