收藏
回答

openid可以作为参数传递给后台吗

我想用openid作为识别用户的参数传给后台,这样做有没有问题啊,大佬推荐个方案吧

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

3 个回答

  • จุ๊บ
    จุ๊บ
    2019-03-05

    可以的

    2019-03-05
    有用
    回复 2
    • 李阳
      李阳
      2019-03-05

      直接将openid配置成全局变量可以吗

      2019-03-05
      回复
    • จุ๊บ
      จุ๊บ
      2019-03-05回复李阳

      我个人是存在缓存里面了

      2019-03-05
      回复
  • 老张
    老张
    2019-03-05

    以前我们采用的是微信官方的session方案,现在正在改写代码,将openId作为参数从wx.request里传到后台。

    我们也很想知道这样的安全性不好具体有哪些。

    2019-03-05
    有用
    回复 3
    • 李阳
      李阳
      2019-03-05

      直接将openid配置成全局变量可以吗

      2019-03-05
      回复
    • 拾忆
      拾忆
      2019-03-05

      直接写在参数里是很容易被拦截伪造的,不过对于没什么特殊安全性需求的来说是无所谓的。

      2019-03-05
      回复
    • 老张
      老张
      2019-03-05回复李阳

      不要配置成全局变量,每次小程序启动不是还要去后台取一次吗?放在缓存里最好,永远只要取一次。

      代码可以参考:


      任意page里,读出openId:

      this.openId = wx.getStorageSync('openId') || await getApp().getOpenId()


      app.js里:

      getOpenId: async function () {

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

      wx.setStorageSync('openId', r.result)

      return r.result

      },


      云函数login的代码:

      exports.main = event => { return event.userInfo.openId }



      2019-03-05
      回复
  • 铭锋科技
    铭锋科技
    2019-03-05

    没问题

    2019-03-05
    有用
    回复 1
    • 李阳
      李阳
      2019-03-05

      直接将openid配置成全局变量可以吗

      2019-03-05
      回复
登录 后发表内容