收藏
回答

关于session_key的问题

话说获取手机号有时候获取失败,是不是因为测试反复删除账号导致session_key不匹配的原因?但我现在每次判断没有手机号就重新login然后获取session_key,但是一样失败,一般都是一次失败,第二次成功

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

2 个回答

  • sheng
    sheng
    2019-03-21

    需要先登录后再调用获取手机

    2019-03-21
    有用 2
    回复 9
    • 灿.
      灿.
      2019-03-21

      是啊我先login获取code,然后换取session_key,再换手机号

      2019-03-21
      回复
    • sheng
      sheng
      2019-03-21回复灿.

      你是点击获取手机号按钮后,再回调里面进行登录再解析手机号的吗


      2019-03-21
      回复
    • 灿.
      灿.
      2019-03-21回复sheng

      是的是的

      2019-03-21
      回复
    • 灿.
      灿.
      2019-03-21回复sheng

      谢谢老哥,没毛病了

      2019-03-21
      回复
    • sheng
      sheng
      2019-03-21回复灿.

      你这样操作有可能会失败的,当点击按钮后,此时对手机号进行加密的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才是正确的

      2019-03-21
      1
      回复
    查看更多(4)
  • 吴奕群
    吴奕群
    2019-03-24

    保证session_key是最新的

    2019-03-24
    有用
    回复
登录 后发表内容