1***@qq.com
1***@qq.com
  • 发布:2022-12-07 15:58
  • 更新:2022-12-07 19:10
  • 阅读:232

使用uni-id用户体系,每次调用云函数时都会校验token,但是在后台把这个用户删掉之后之前的token还是有效,如何解决?

分类:uniCloud



此时已经把这个用户删除了,校验token时还是有效

2022-12-07 15:58 负责人:无 分享
已邀请:
DCloud_uniCloud_VK

DCloud_uniCloud_VK

首先,不建议开发删除用户的功能
客观原因: 如果这个用户有在你系统上充值过钱, 你把他删了本身就不好, 就算充值的钱用完了,也不能删,否则如果老板、财务查账不好查。

那么现在我们不讨论这些客观原因,仅仅从技术上如何解决你说的问题。
你可以在检测完token后,再加一个判断,去数据库根据uid去读取用户信息,如果查到了用户,且这个用户的token字段包含这个token,则视为有效,否则视为无效。这样就从技术层面解决你的问题。

但随之带来的缺点是:每次都要请求数据库,是不是有点浪费性能,这是你要考虑的,因此鱼和熊掌不可兼得。目前uni-id采用的就是建立在客观因素上(不允许删客户)的前提下,同时优先保证系统性能(不查数据库)因此会出现你说的情况。

因此我们可以在一些比较重要的接口时,可以再加一个数据库查库的判断,而一般的接口,只校验token即可。

tips:往往注销账户并不是真的删除账户,只是把用户的状态字段改为已注销

  • 1***@qq.com (作者)

    好的,目前看来只能这样了

    2022-12-07 19:11

要回复问题请先登录注册