看了几天相关文档(https://developers.weixin.qq.com/community/develop/doc/000cacfa20ce88df04cb468bc52801?blockType=1)(https://developers.weixin.qq.com/miniprogram/dev/api/open-api/user-info/wx.getUserProfile.html),看了评论区大佬关于这个接口的帖子如(https://developers.weixin.qq.com/community/develop/article/doc/0008c23ae940700064fb570be56013),还有其它的帖子等等。
说下自己的感想
本人原本的逻辑是:wx.login+code2session 得到sessionkey,再把wx.getUserInfo的加密数据一起传到服务器进行解密 得到用户相关信息,这样做有个非常大的有点是 用户数据(包括openid,昵称,头像等)是解密出来的,具有很高的安全性,获得的openid也有很高的可靠性,如果只是通过参数传入一个openid,那么如果接口暴露,这个数据openid的真实性就大打折扣。同时存在着别人攻击的问题!
我就说一个问题 新接口的解密数据为什么不包含openid???
更正:这几天会灰度,从基础库 2.10.4 开始都会返回 iv 等加密信息
https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html#请求地址
从这获取openid更新getUserProfile不一起说解决方案,全靠自己找,自己猜
wx.login返回的code就已经可以解密出openId和unionId了,getUserProfile现在最好只用来获取用户昵称头像用。
还有就是2.10.4-2.16.0之间的版本不返回加密数据,怎么做兼容,告诉用户更新微信吗?