收藏
回答

云开发的登录逻辑,能不能直接用缓存解决?

我觉得在云开发环境下,openid直接明文传输缓存到客户端作为登录态,应该是安全可靠可信的?wx.checkSession()感觉用处不大?

设定好缓存过期时间,缓存时间内不调用云函数,减少云开发成本,大家帮忙看看以下逻辑有没有问题?

  login: async function() {

    const info = wx.getStorageSync('info')

    if (info{

      const diff = this.time.diff(info.time,'h')//计算缓存时间

      if (diff < 24{

        //缓存有效,读取缓存

        return info

      } else {

        //缓存过期,清理缓存

        wx.removeStorageSync('info')

      }

    }

    //调用登录云函数

    let login = await wx.cloud.callFunction({name: 'login'})

    //写入缓存

    login.result.time = new Date().getTime()

    wx.setStorageSync('info', login.result)

    return login.result

  }



回答关注问题邀请回答
收藏

2 个回答

  • momo
    momo
    2022-08-07

    如果业务后端完全使用云开发的话,客户端似乎没有必要保存 openId 。

    2022-08-07
    有用 1
    回复 2
    • sw
      sw
      发表于移动端
      2022-08-07
      云开发8月8号开始买套餐按量计费,比以前贵好多,我在想着是不是要尽量避免云开发资源使用
      2022-08-07
      回复
    • momo
      momo
      2022-08-07回复sw
      原则上来说, openId 和 sessionKey 一样,属于敏感信息,不应该被传递到前端。
      2022-08-07
      回复
  • 李鸣晨
    李鸣晨
    2022-08-07

    原则上来说, openId 和 sessionKey 一样,属于敏感信息,不应该被传递到前端。

    2022-08-07
    有用
    回复
登录 后发表内容