第三方平台wx.checkSession和getPhoneNumber问题
发布于 6 年前 作者 cshi 249 次浏览 来自 问答

开发流程: 进入页面接口报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 回复

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

回到顶部