微信小程序应该如何保证用户登录状态呢? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
Ufo666
V2EX    问与答

微信小程序应该如何保证用户登录状态呢?

  •  
  •   Ufo666 2022-08-09 17:18:54 +08:00 1993 次点击
    这是一个创建于 1238 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如在一个酒店场景,用户办理入住,用户通过预留手机号登录小程序。一般做法是登录成功生成 token ,token 有效期设置到用户的离店时间,以后每次请求都带上,失效则退出登录。但是,如果,用户提前离店,而 token 此时还能用,岂不是不合法?

    8 条回复    2022-08-10 00:54:53 +08:00
    likai
        1
    likai  
       2022-08-09 19:45:09 +08:00
    登录成功后才查询客户入住信息
    BugCry
        2
    BugCry  
       2022-08-09 20:12:54 +08:00 via Android
    如果你不用微信的账号体系,直接按 H5 处理就好了啊
    Envov
        3
    Envov  
       2022-08-09 20:49:33 +08:00 via iPhone
    token 虽然有过期,但是不适用这个场景,可以在服务端维护用户是否过期的状态,每次用户带 token 过来都看看是否过期(可以在 token 中带会话 id),如果过期就不响应
    sammeishi
        4
    sammeishi  
       2022-08-09 21:53:24 +08:00
    和小程序无关,所有登录类都有这个情况,比如我网吧登录淘宝然后走人,淘宝怎么能知道?。。
    这类问题处理办法蛮多的,像酒店这个情况最简单的是在离店时你肯定要结费,收银系统触发注销 token 不就行了。
    kingjpa
        5
    kingjpa  
       2022-08-09 23:24:16 +08:00
    办理入住后 直接注销 token 不就完了吗?
    Felldeadbird
        6
    Felldeadbird  
       2022-08-10 00:27:31 +08:00
    没看懂你的问题卡在哪。

    你在小程序本地存储了 token ,那么每次请求这个 token 都和服务器校验就可以了。服务器只要标记这个 token 失效了,用户就无法继续使用了。
    Jooooooooo
        7
    Jooooooooo  
       2022-08-10 00:29:41 +08:00
    没看懂问题是啥意思...

    退房了这个用户查询订单状态就是完结状态啊
    kop1989smurf
        8
    kop1989smurf  
       2022-08-10 00:54:53 +08:00   1
    首先,你的 token 使用不合理。业界通用的理解 token 是一个 API 临时授权,把授权和业务挂钩是大忌。

    然后,修改意见:
    1 、check out 时手动 token 置超时。
    2 、通过 openID 与用户的关系进行持久化绑定,token 有效时间缩短到分钟级别。超时自动登录。
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     3295 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 37ms UTC 11:03 PVG 19:03 LAX 03:03 JFK 06:03
    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