小程序
小游戏
企业微信
微信支付
扫描小程序码分享
我想用openid作为识别用户的参数传给后台,这样做有没有问题啊,大佬推荐个方案吧
3 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
可以的
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
直接将openid配置成全局变量可以吗
我个人是存在缓存里面了
以前我们采用的是微信官方的session方案,现在正在改写代码,将openId作为参数从wx.request里传到后台。
我们也很想知道这样的安全性不好具体有哪些。
直接写在参数里是很容易被拦截伪造的,不过对于没什么特殊安全性需求的来说是无所谓的。
不要配置成全局变量,每次小程序启动不是还要去后台取一次吗?放在缓存里最好,永远只要取一次。
代码可以参考:
任意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 }
没问题
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
可以的
直接将openid配置成全局变量可以吗
我个人是存在缓存里面了
以前我们采用的是微信官方的session方案,现在正在改写代码,将openId作为参数从wx.request里传到后台。
我们也很想知道这样的安全性不好具体有哪些。
直接将openid配置成全局变量可以吗
直接写在参数里是很容易被拦截伪造的,不过对于没什么特殊安全性需求的来说是无所谓的。
不要配置成全局变量,每次小程序启动不是还要去后台取一次吗?放在缓存里最好,永远只要取一次。
代码可以参考:
任意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 }
没问题
直接将openid配置成全局变量可以吗