如题,开放平台已经开通认证,小程序也是上线版本,两者是同一个主体,但是小程序绑定到开放平台后,在后端调用jscode2session,依然只返回openid,不会返回unionid,怎么处理呢?
想一开始就获取到unionid,为以后上APP做准备。
----------------------------------------------------------------------------------
已找到方案,直接把小程序绑到开放平台后,通过解密数据获取unionid,同时遇到了很坑的sessionkey导致解密报错的问题,是wxlogin会触发sessinonkey刷新,参考资料如下:
//session_key失效导致"校验签名失败或解密失败":
//1,确保调用顺序为:先登录拿到code换取sessionkey,然后才去拿“加密的用户授权信息”进行解密,反过来先有加密信息再去获取解密的sessionkey是不对的。
//2,wx.login会“无规律”去刷新sessionkey,所以如果先拿“加密的用户信息”再根据code获得的sessionkey,碰上了login触发刷新,解密时就会报错“填充无效,无法被移除”
//www.mamicode.com/info-detail-2431223.html
//www.cnblogs.com/fancyblogs/p/9560268.html
//www.cnblogs.com/microestc/p/11828654.html
//developers.weixin.qq.com/community/develop/doc/0006c2d816000003f8a73340051000?highLine=remove
。。。。。
这都是啥回答呀,误人子弟
小程序获取unionid只需要小程序绑定到开放平台就行了,别的啥也不需要,你别听他们误导你,什么啊
只不过你不能简单的通过jscode2session来获取了而已
你需要用button让用户授权然后拿到encryptedData和iv 然后传到后台结合session_key来解密用户信息,解密出来的数据就一定有unionid
必须满足条件,单独一个小程序获取不到unionid