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!]' }
请问这是为什么?请不要再问我是否已获得授权,谢谢。
附上请求打印日志,以下数据个别字符已被修改过:
【请求参数】:{"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!]"}
json_string,是个字符串,我看你上面的示例不是 string,加个 JSON.stringify 试试呢
楼主能描述下场景吗,为何会在小程序里使用这个后台接口?小程序没有相应的soter jsapi可以调用的。
请您了解,这个是官方提供的指纹识别流程,我们完全是按照官方文档指引的操作:
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/bio-auth.html
你好,该接口权限已经恢复。
非常感谢,目前接口调用正常,已返回正确的JSON结果为:{ "is_ok": true } 。但是
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/bio-auth.html 页面,并没有这个 Response 的文档,请继续完善,让更多开发者一起可以使用指纹识别接口。 点32个赞👍🏻
其中json_string转或者不转Josn,结果都一样错误。json_signature是原样传给微信了。
能帮忙咨询下你。知道为什么一直失败吗?
是否用错其他账号的access_ token了?