收藏
回答

使用button授权解密时解密偶尔成功偶尔不成功,极不稳定

问题模块
API和组件

使用最新的小程序button来获取用户授权时,向服务器发送相关信息encryptedData, iv, session_key后有时成功,有时解密不成功,之前使用直接调用 api授权时 没有这个问题。 后发现解密失败时的如下所求


原解密代码中已经设置了自己增加padding,根据官方node示例



之前使用直接调用接口授权的时候,code是和用户信息一起获取的用于获取 session_key, 但是使用button 授权后,返回的userinfo是直接button点击后用户授权完成绑定返回的信息,而后自己主动调用wx.login去获取code 然后向服务器获取session-key,不知道是不是session-key不匹配导致的解密失败。

最后一次编辑于  2017-08-17  (未经腾讯允许,不得转载)
邀请回答
复制链接收藏关注问题回答

3 个回答

  • 晨
    2017-08-17

    你好,session未过期情况下login会刷新登录态,导致sessionKey发生变化。稳妥的方案是在用户点击授权后,先checkSession,如果未过期,不login,服务器可以用之前的sessionKey解密。如果session过期,需要重新login,使用新的sessionKey解密。

    2017-08-17
    赞同
    回复 1
    • Sxx
      Sxx
      2018-06-02

      如果在回调里面做login的话,会必然导致sessionKey失效吧,我这边做了尝试,100%的解析不出来。我现在的解觉方案是在点击授权之前做一次login,

      2018-06-02
      赞同
      回复
  • Neil
    Neil
    2017-08-18

    多谢,我先试试

    2017-08-18
    赞同
    回复