小程序
小游戏
企业微信
微信支付
扫描小程序码分享
话说获取手机号有时候获取失败,是不是因为测试反复删除账号导致session_key不匹配的原因?但我现在每次判断没有手机号就重新login然后获取session_key,但是一样失败,一般都是一次失败,第二次成功
2 个回答
加粗
标红
插入代码
插入链接
插入图片
上传视频
需要先登录后再调用获取手机
你好,麻烦通过点击下方“反馈信息”按钮,提供出现问题的。
是啊我先login获取code,然后换取session_key,再换手机号
你是点击获取手机号按钮后,再回调里面进行登录再解析手机号的吗
是的是的
谢谢老哥,没毛病了
你这样操作有可能会失败的,当点击按钮后,此时对手机号进行加密的session_key是以前code值换取的session_key,叫它S1,这时候返回是iv和
encryptedData就是S1的,然后在回调里面进行wx.login操作,有可能会刷新session_key,就叫它S2,而之后的解析手机号时,你传入的iv和encryptedData是用S1获取到的,而你又通过S2来解密通过S1加密的手机号,2个session_key是不同的,所以就失败了,这样清楚了吗?
总的来说,就是不能点击按钮后,才调用wx.login,必须先wx.login后,才能点击按钮,这时候的session_key才是正确的
保证session_key是最新的
关注后,可在微信内接收相应的重要提醒。
请使用微信扫描二维码关注 “微信开放社区” 公众号
需要先登录后再调用获取手机
是啊我先login获取code,然后换取session_key,再换手机号
你是点击获取手机号按钮后,再回调里面进行登录再解析手机号的吗
是的是的
谢谢老哥,没毛病了
你这样操作有可能会失败的,当点击按钮后,此时对手机号进行加密的session_key是以前code值换取的session_key,叫它S1,这时候返回是iv和
encryptedData就是S1的,然后在回调里面进行wx.login操作,有可能会刷新session_key,就叫它S2,而之后的解析手机号时,你传入的iv和encryptedData是用S1获取到的,而你又通过S2来解密通过S1加密的手机号,2个session_key是不同的,所以就失败了,这样清楚了吗?
总的来说,就是不能点击按钮后,才调用wx.login,必须先wx.login后,才能点击按钮,这时候的session_key才是正确的
保证session_key是最新的