收藏
回答

signature 数据签名校验问题偶尔失败

问题模块 框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
API和组件 小程序 Bug 数据签名校验 客户端 6.5.3 1.9

- 当前 Bug 的表现(可附上截图)

  1. 通过调用接口(如 wx.getUserInfo)获取数据时,接口会同时返回 rawData、signature,其中 signature = sha1( rawData + session_key )

  2. 开发者将 signature、rawData 发送到开发者服务器进行校验。服务器利用用户对应的 session_key 使用相同的算法计算出签名 signature2 ,比对 signature 与 signature2 即可校验数据的完整性。

大概校验3次有一次失败的


- 预期表现


- 复现路径


- 提供一个最简复现 Demo


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

1 个回答

  • 王志强
    王志强
    2018-08-31

    我也遇到这种问题了,大兄弟解决没

    2018-08-31
    赞同
    回复 6
    • 刘大力
      刘大力
      2018-09-11

      解决了

      2018-09-11
      回复
    • 王志强
      王志强
      2018-09-11回复刘大力

      求教下,怎么弄得

      2018-09-11
      回复
    • 刘大力
      刘大力
      2018-09-11回复王志强

      思路就是把session_key存到数据库,并且前端存到

      wx.setStorage({

      key: 'session_key',

      data: res.data.session_key

      })

      然后用

      wx.checkSession

      检测看session_key有没有过期,没有的话就前端wx.getStorage读session_key,

      取数据库查一下就知道是哪个用户了。不过session_key最好不要直接传

      2018-09-11
      回复
    • 刘大力
      刘大力
      2018-09-11回复王志强

      之前出错的原因是session_key不对

      2018-09-11
      回复
    • 王志强
      王志强
      2018-09-12回复刘大力

      好的 谢谢

      2018-09-12
      回复
    查看更多(1)