比如在一个酒店场景,用户办理入住,用户通过预留手机号登录小程序。一般做法是登录成功生成 token ,token 有效期设置到用户的离店时间,以后每次请求都带上,失效则退出登录。但是,如果,用户提前离店,而 token 此时还能用,岂不是不合法?
1
likai 2022-08-09 19:45:09 +08:00
登录成功后才查询客户入住信息
|
2
BugCry 2022-08-09 20:12:54 +08:00 via Android
如果你不用微信的账号体系,直接按 H5 处理就好了啊
|
3
Envov 2022-08-09 20:49:33 +08:00 via iPhone
token 虽然有过期,但是不适用这个场景,可以在服务端维护用户是否过期的状态,每次用户带 token 过来都看看是否过期(可以在 token 中带会话 id),如果过期就不响应
|
4
sammeishi 2022-08-09 21:53:24 +08:00
和小程序无关,所有登录类都有这个情况,比如我网吧登录淘宝然后走人,淘宝怎么能知道?。。
这类问题处理办法蛮多的,像酒店这个情况最简单的是在离店时你肯定要结费,收银系统触发注销 token 不就行了。 |
5
kingjpa 2022-08-09 23:24:16 +08:00
办理入住后 直接注销 token 不就完了吗?
|
6
Felldeadbird 2022-08-10 00:27:31 +08:00
没看懂你的问题卡在哪。
你在小程序本地存储了 token ,那么每次请求这个 token 都和服务器校验就可以了。服务器只要标记这个 token 失效了,用户就无法继续使用了。 |
7
Jooooooooo 2022-08-10 00:29:41 +08:00
没看懂问题是啥意思...
退房了这个用户查询订单状态就是完结状态啊 |
8
kop1989smurf 2022-08-10 00:54:53 +08:00 1
首先,你的 token 使用不合理。业界通用的理解 token 是一个 API 临时授权,把授权和业务挂钩是大忌。
然后,修改意见: 1 、check out 时手动 token 置超时。 2 、通过 openID 与用户的关系进行持久化绑定,token 有效时间缩短到分钟级别。超时自动登录。 |