收藏
回答

微信小程序手机号解密失败

框架类型 问题类型 API/组件名称 终端类型 操作系统 微信版本 基础库版本
小程序 Bug wx.checkSession 微信iOS客户端 6.6.6 1.9.1

流程是这样的:初次加载app.js,调用wx.login()去获取code,将code发给自己服务器获取一个sid,缓存这个sid。在手机号授权的时候,先调用wx.checkSession()去判断微信sessionKey是否过期,过期就重新调登录流程,没有过期就获取encryptedData,iv和sid,发送给后台去解密。

但会存在这种情况,如果今天我进入小程序,然后关掉。再隔2天使用小程序,再去授权手机号,后台报解密失败!后台解密代码都一样,我以为是微信sessionKey过期了,但是,微信说sessionKey过期时间是30天,而且我检查了代码,wx.checkSession()返回success,表示登录态未过期,但还是解密失败,这是为什么啊?

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

12 个回答

  • Band
    Band
    2018-06-25

    如果可以在工具上重现的话,工具Console 输入 showDecryptedInfo 可以输出加密信息(包括session_key)来协助你找到问题。

    2018-06-25
    有用
    回复 3
    • 2019-03-14

      就是在工具上重现不了,只有在用户手机上才会这样子

      2019-03-14
      回复
    • 萍爷
      萍爷
      2019-07-02

      重现了,showDecryptedInfo也没有任何信息

      2019-07-02
      回复
    • 凉白开
      凉白开
      2019-07-05

      解决了吗,我们也有这个问题

      2019-07-05
      回复
  • 李公子
    李公子
    2021-11-15

    报错showDecryptedInfo is not defined

    2021-11-15
    有用
    回复
  • Super
    Super
    2021-11-10

    上面是我的代码:(该要的数据都获取到了的)

    解密到最后一步的时候就报这个错误了 求大佬帮忙 在线等 谢谢了

    ReferenceError: Buffer is not defined

    2021-11-10
    有用
    回复
  • hekung
    hekung
    2020-12-09

    wx.login()后,不要立即调用解密手机接口,延时几秒后再解密试一下。

    2020-12-09
    有用
    回复
  • Jadyn
    Jadyn
    2020-11-06

    我这也碰到了,在小程序页长时间停留(2分钟左右),然后调用wx.login,然后去授权获取用户手机号,这时服务端解密就会出错,出错后checksession也是Sucess的,很奇怪的问题

    2020-11-06
    有用
    回复 1
    • 。
      2021-01-26
      你好,小程序页长时间停留(2分钟左右)之后解密失败,这个问题最后怎么解决的呢
      2021-01-26
      回复
  • Hi刚刚好
    Hi刚刚好
    2020-04-20

    问题解决了吗?现在好像还是有这个问题



    2020-04-20
    有用
    回复
  • 研究僧
    研究僧
    2019-06-26

    请问解决了吗? 我们也遇到这个问题了. 不止手机号, 授权登录那里也有问题.

    2019-06-26
    有用
    回复
  • 枫
    2019-03-14

    问题解决了吗?现在好像还是有这个问题

    2019-03-14
    有用
    回复
  • 郭郭哒
    郭郭哒
    2018-09-29

    你好,请问现在还能解密到手机号吗

    2018-09-29
    有用
    回复
  • 2018-09-03

    showDecryptedInfo 怎么用?么有在文档着找到相关的信息

    2018-09-03
    有用
    回复

正在加载...

登录 后发表内容