收藏
回答

指纹验证后,密钥验签服务调用返回48001

框架类型 问题类型 API/组件名称 终端类型 微信版本 基础库版本
小程序 Bug 生物认证wx.startSoterAuthentication 客户端 6.7.5 2.4.2

https://developers.weixin.qq.com/miniprogram/dev/api/startSoterAuthentication.html

微信已经提供后台接口,用于可信的密钥验签服务,微信将保证该接口返回的验签结果的正确性与可靠性,并且对于 Android root 情况下该接口具有上述特征(将返回是否保证root情况安全性)。 


接口地址:

http://api.weixin.qq.com/cgi-bin/soter/verify_signature?access_token=%access_token

post 数据内容(JSON 编码):

{"openid":"$openid""json_string" : "$json""json_signature" : "$sign" }


其中json_string使用的是指纹验证返回的resultJSON,json_signature使用的是resultJSONSignature。


之前在企业微信API文档有类似接口,注明 json_string 需要JSON转义。请给予解释如何转义?示例,谢谢!

我们已经通过百度搜索、谷歌搜索关键字 soter/verify_signature,没有找到任何成功的开发者示例,搜索结果少之又少,请务必尽快解答此问题疑惑,亿分感谢!


access_token是通过如下文档方式获取的https://developers.weixin.qq.com/miniprogram/dev/api/token.html#%E8%8E%B7%E5%8F%96-access_token

openid应该也是没有错的。但是调用这个接口总是返回48001错误。


{ errcode: 48001, errmsg: 'api unauthorized hint: [QlUlKa0358vr47!]' }

请问这是为什么?请不要再问我是否已获得授权,谢谢。


附上请求打印日志,以下数据个别字符已被修改过:

【请求地址】: https://api.weixin.qq.com/cgi-bin/soter/verify_signature?access_token=16_dJdFEpg1kNR5X8XXXXXXXXXXmj3xdaYfyN7-6NwJWFcKiPRfGJSxUXXXXXXX0Lw01QamXYR2hHP6Z_eyRp3EIyKYEkwj6BwwgDk3b5bLebEUY-eyi26IegGCAKhAHAGEO

【请求参数】:{"openid":"oXXjk-5ayXXXX-fhbJzOXXXXXXXXX","json_string":{"counter":"131","cpu_id":"4E3XXXX22-70F8-4843-B094-DCXXXXX41E11","raw":"fingerPrintSetting","uid":"ca4d97415986a0600000000669378"},"json_signature":"rJuaGrx0XXXXXXXXXwYYr53WjoS4xifaPSoVc5ycjZHkEUJZOJVPDjLTOoFl/HQXXXXXXXXXeHah3g4+Z7s6Y7g+EdUFUcGc5WdOcdXV546SIaTYqS2vf4rgkh922Zp/jxQ0Tc0P9NmlRZGnxaXIyaitYz/8W4qXXXXXXXXMnv5n0XXxy+ZaGsAISgeJVYdA56xRduGEWCEaqIAHQse0Md934JRMq3Bg2UC+/KMA/juQXXXXXXXXXXXFmzrShqlOfA=="}

【错误信息】:{"errcode":48001,"errmsg":"api unauthorized hint: [vfJFRA03044682!]"}

最后一次编辑于  2018-12-25
回答关注问题邀请回答
收藏

3 个回答

  • 黄思程
    黄思程
    2018-12-18

    json_string,是个字符串,我看你上面的示例不是 string,加个 JSON.stringify 试试呢

    2018-12-18
    有用
    回复
  • 郑俊伟
    郑俊伟
    2018-12-20

    楼主能描述下场景吗,为何会在小程序里使用这个后台接口?小程序没有相应的soter jsapi可以调用的。

    2018-12-20
    有用
    回复 5
    • A9754184528
      A9754184528
      2018-12-21

      请您了解,这个是官方提供的指纹识别流程,我们完全是按照官方文档指引的操作:

      https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/bio-auth.html



      2018-12-21
      回复
    • 郑俊伟
      郑俊伟
      2018-12-24回复A9754184528

      你好,该接口权限已经恢复。

      2018-12-24
      1
      回复
    • A9754184528
      A9754184528
      2018-12-25回复郑俊伟

      非常感谢,目前接口调用正常,已返回正确的JSON结果为:{ "is_ok": true } 。但是

      https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/bio-auth.html 页面,并没有这个 Response 的文档,请继续完善,让更多开发者一起可以使用指纹识别接口。 点32个赞👍🏻

      2018-12-25
      回复
    • 🕊🕊🕊
      🕊🕊🕊
      2021-11-12回复A9754184528
      你好,我的openID, accessoken.都是获取的。但是这个校验接口一直返回{"errcode":40003,"errmsg":"invalid openid rid: 618e636a-3832a4d7-2f118bcb"}
      其中json_string转或者不转Josn,结果都一样错误。json_signature是原样传给微信了。
      能帮忙咨询下你。知道为什么一直失败吗?
      2021-11-12
      回复
    • A9754184528
      A9754184528
      2021-11-15回复🕊🕊🕊
      错误信息提示,是因为 openid 跟 accessToken 匹配不上,请您核实一下 对应的 openId 跟 appId 是否一致(是否用错其他appId 应用的access_ token)。
      2021-11-15
      回复
  • 是小白啊
    是小白啊
    2018-12-17

    是否用错其他账号的access_ token了?

    2018-12-17
    有用
    回复
登录 后发表内容