收藏
回答

小程序已经绑定到开放平台,但小程序jscode2session方法依然不返回unionid,有解吗?

如题,开放平台已经开通认证,小程序也是上线版本,两者是同一个主体,但是小程序绑定到开放平台后,在后端调用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

最后一次编辑于  2020-08-14
回答关注问题邀请回答
收藏

3 个回答

  • 江桥月
    江桥月
    2020-08-14

    。。。。。

    这都是啥回答呀,误人子弟

    小程序获取unionid只需要小程序绑定到开放平台就行了,别的啥也不需要,你别听他们误导你,什么啊

    只不过你不能简单的通过jscode2session来获取了而已

    你需要用button让用户授权然后拿到encryptedData和iv 然后传到后台结合session_key来解密用户信息,解密出来的数据就一定有unionid

    2020-08-14
    有用 2
    回复
  • 拾忆
    拾忆
    2020-08-13

    必须满足条件,单独一个小程序获取不到unionid

    2020-08-13
    有用 1
    回复 2
    • Lew
      Lew
      2020-08-13
      多谢回复,请问,最简单的解决办法是怎么搞呢?去里面提交一个未上线的安卓APP,可以吗?
      2020-08-13
      回复
    • 拾忆
      拾忆
      2020-08-13回复Lew
      方案1从解密数据里获取unionid估计是你唯一的方案了
      2020-08-13
      回复
  • 欢乐马
    欢乐马
    发表于小程序端
    2020-08-13
    必须用户在两个端口都授权才可以获取unionid。
    2020-08-13
    有用
    回复
登录 后发表内容
问题标签