-
Notifications
You must be signed in to change notification settings - Fork 205
后台接口文档
liuxb-tofu edited this page Apr 10, 2020
·
10 revisions
本文档详细说明了如何调用腾讯开放平台后台接口,以实现获取设备是否支持TENCENT SOTER以及验证客户端上传的ASK是否是合法密钥。
所有微信开放平台后台接口被调用之前需要先进行鉴权,统一使用access_token进行接口鉴权。调用接口时,需要先调用鉴权接口获得access token,然后再使用access token去调用接口。请注意access_token参数一定要放在get参数上。
微信开放平台的鉴权接口为:
http请求方式: GET
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=APPID&secret=APPSECRET
请求参数说明:
参数 | 是否必须 | 说明 |
---|---|---|
grant_type | 是 | 请求类型,获取access token时填写为“client_credential” |
appid | 是 | 微信开放平台为该应用分配的应用标识 |
secret | 是 | 微信开放平台为该应用分配的应用密钥 |
返回示例,正确的JSON返回结果如下:
{
"access_token":"ACCESS_TOKEN",
"expires_in":7200
}
返回参数说明:
参数 | 说明 |
---|---|
access_token | 获取到的接口调用凭证 |
expires_in | 凭证有效时间,单位:秒 |
https://api.weixin.qq.com/cgi-bin/soter_3rdapp/is_support?access_token=xxxx
输入参数 | 说明 |
---|---|
model_key | 机型模块信息,xml格式。 |
sdk_version | soter2.0版本需携带此字段并填2 |
对于错误返回,请使用如下参考格式:
{
"errcode":-1,
"errmsg":"system error"
}
参数说明:
返回参数 | 说明 |
---|---|
errcode | 错误码 |
errmsg | 错误信息描述 |
对于正确返回,请使用如下参考格式:
{
"is_support":true,
"support_type":1
}
参数说明:
返回参数 | 说明 |
---|---|
is_support | 该机型是否支持TENCENT SOTER并已经通过微信官方认证。true为支持,false为不支持 |
support_type | 2.0版本新增字段,返回具体支持的类型 0: 不支持 1: 指纹 2: 面容 3: 两者都支持 |
errcode | 说明 |
---|---|
0 | OK |
90001 | 参数格式错误:无法解析的xml格式 |
90002 | 参数格式错误:非法的xml节点 |
第一步:调用鉴权接口获得access token
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wxbf52b89ac6da6&secret=e4baef594fd2d90b076370a53fddf0d6
返回的数据为:
{
"access_token":"b4384c050f27b99151501b1a95eb529",
"expires_in":7200
}
第二步:使用access token以及机型模块信息获取改机型是否支持TENCENT SOTER。
http请求方式: post(请使用https协议)
https://api.weixin.qq.com/cgi-bin/soter_3rdapp/is_support?access_token=b4384c050f27b99151501b1a95eb529
POST数据格式:JSON
POST数据例子:
{
"model_key":"<deviceinfo><MANUFACTURER name=\"vivo\"><MODEL name=\"vivo X6D\"></MODEL></MANUFACTURER></deviceinfo>",
"sdk_version": "2.0"
}
https://api.weixin.qq.com/cgi-bin/soter_3rdapp/verify_ask?access_token=xxxx
统一使用json格式进行post,对于上传图片等媒体数据的可以忽略。
输入参数 | 说明 |
---|---|
ask_json | ASK结构体所组成的json。可使用客户端sdk获取 |
ask_json_signature | ASK结构体所组成的json对应使用ATTK私钥的签名。可使用客户端sdk获取(证书链格式此部分留空) |
输出统一使用json格式,对于返回图片等媒体数据的可以忽略。
对于错误返回,请使用如下参考格式:
{
"errcode":-1,
"errmsg":"system error"
}
参数说明:
返回参数 | 说明 |
---|---|
errcode | 错误码 |
errmsg | 错误信息描述 |
对于正确返回,请使用如下参考格式:
{
"is_verified":true,
"attk_version":2
}
errcode | 说明 |
---|---|
90001 | 参数错误:ask_json缺失 |
90002 | 参数错误:ask_json_signature缺失 |
90003 | 参数错误:ask_json格式错误 |
90004 | 参数错误:ask_json无法解析到合法device_id |
90005 | 无法找到所请求device_id对应的attk |
第一步:调用鉴权接口获得access token
https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=wxbf52b89ac6da6&secret=e4baef594fd2d90b076370a53fddf0d6
返回的数据为:
{
"access_token":"b4384c050f27b99151501b1a95eb529",
"expires_in":7200
}
第二步:使用access token调用验证密钥接口
http请求方式: POST(请使用https协议)
https://api.weixin.qq.com/cgi-bin/soter_3rdapp/verify_ask?access_token=b4384c050f27b99151501b1a95eb529
POST数据格式:JSON
POST数据例子:
{
"ask_json":"{ \"pub_key\":\"-----BEGIN PUBLIC KEY-----\\nMIIBIjANBgkqhkiG9w0BAQEFAAOCAQ8AMIIBCgKCAQEApL2cM8x9+FZ22bn+3GsA\\nEpOWb7b6jILnAi+lE3lA6BQpbEL3YWWLXPK/pQ4HmnvSZVc281NalpO9riZBPULm\\n8GFiQNX1HE2ShAU7ybFOulKBb+kN2zh/TwFbwFDxALevYvCf6MepisY8vxEi5R+8\\nYqCCCBzLyBLFYGJUyp1Rl3bVwYNnEyl7j4GHFTiFrpoORelikVhRpceIjnn55cAV\\nH3E3wxMEhQcpcArn8FuIAf9lhgLlQL6hs5MrKJSiN0iM8dRpgoMIJtX31r3Zo3cj\\n2hrtiliMwRLe43qTFFn8YhrtXLKSBAGJD7ntYa/JCdDcg0aM1mE+5AhoP5o/0nii\\n1QIDAQAB\\n-----END PUBLIC KEY-----\" , \"cpu_id\":\"10\" , \"counter\":123 ,\"uid\":\"21\" }",
"ask_json_signature":"oosngnoso3jvhii..."
}
注意:组装请求JSON时,请将ask_json需要填入的value值进行format,以确保如实例中格式,否则将导致验签失败
概述
TENCENT SOTER介绍
TENCENT SOTER原理
基础
快速接入
进阶
安全接入
安全接入——客户端
安全接入——后台
接口文档
客户端接口文档
后台接口文档
个人信息保护规则
合规使用指南