收藏
回答

第三方平台wx.checkSession和getPhoneNumber问题

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug wx.checkSession,getPhoneNumber 工具 最新 最新

开发流程: 进入页面接口报401时,

1、弹窗弹出一瞬间wx.login获取到最新code,然后通过点击弹窗的按钮getPhoneNumber获取到 encryptedData和 iv ,弹窗关闭,

    用wx.checkSession进行检测,

     a、success时,把code, encryptedData和 iv 传给后端进行解析

b、fail时,则进行步骤1的行为


在wx.checkSession 遇到两种极端情况

1、有些人账号一直进入success,即使删除工具的登陆缓存,还是会一直进入success

2、有的人账号一直进入fail,明明在wx.checkSession 之前已经wx.login居然会检测失败(以上情况只有开发者工具会这样,手机端会一直进入success


然后针对一直进入fail的情况,我不再用wx.checkSession进行检测,把code, encryptedData和 iv 直接传给后端进行解析,结果居然能解析成功!!

由于怀疑不用code也可以解析,我进行了测试,发现code还是必须要传的,但是第一次登陆的code和第二次登陆的code居然都可以解析出电话号码


所以我的问题是:

一、session_key的时效性是怎么样的?难道删除开发工具的的登陆缓存不能导致session_key失效吗?

二、wx.login后再wx.checkSession进入fail是因为什么导致的?

三、明明wx.checkSession 进入fail里了,为何code传给后端,还能解析成功?既然解析能成功,为何进入了fail事件?

四、getPhoneNumber获取到的encryptedData和 iv 不用跟最新wx.login的code 也能进行解析吗?



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

1 个回答

  • 知晓
    知晓
    2019-05-10

    正经的问题都没人回答,这个问题已经很多人提问了,没有一个官方给出正确解决办法

    2019-05-10
    有用
    回复 3
    • 小雨
      小雨
      2019-05-16

      我现在也遇到了。你是怎么解决的

      2019-05-16
      回复
    • 知晓
      知晓
      2019-05-16回复小雨

      我也还没解决

      2019-05-16
      回复
    • 小雨
      小雨
      2019-05-18回复知晓

      找到临时解决办法了。把wx.checkSession去掉也可以用。发现开放平台调用wx.checkSession有这个问题。

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