You need to enable JavaScript to run this app.
导航

Token接口

最近更新时间2023.10.19 14:54:34

首次发布时间2022.10.27 23:22:47

接口简介

业务已存有用户资料的情况下,可以通过服务端直接调用Token接口将用户资料进行上传,不进行端上OCR/手动输入。支持有源比对场景上传身份证+姓名;无源比对场景上传基准图。此接口同时支持进行端上动作活体的相关参数配置。

调用此接口,由于是从服务端发起请求,使用临时密钥/长期密钥均可。

限制条件

请求说明

名称内容
接口地址https://visual.volcengineapi.com
请求方式POST
Content-Typeapplication/json

请求参数
(1)header请求参数
公共请求参数

名称类型是否必填示例值描述
X-DateString20201103T104027Z使用UTC标准时间,日期精确到秒,格式:YYYYMMDD'T'HHMMSS'Z'。

Authorization

String

HMAC-SHA256 Credential={AccessKeyId}/{ShortDate}/{Region}/{Service}/request,
SignedHeaders={SignedHeaders}, Signature={Signature}

HMAC-SHA256:签名方法
Credential:签名凭证,其中,
-AccessKeyId是访问密钥ID,可在 访问密钥(Access Key) 获取;
-ShortDate是请求的短时间,使用UTC时间,精确到日。请使用格式:YYYYMMDD,例如:20180201
-Region默认为cn-north-1
-Service默认为cv
SignedHeaders是参与签名计算的头部信息,content-type 和 host 为必选头部
Signature是签名,可在 签名方法 获取。
注:我们提供了SDK及签名示例供您实现服务快速接入,具体可参考 快速接入

X-Security-Token

String

指安全令牌服务(Security Token Service,STS) 颁发的临时安全凭证中的SessionToken:
1.用户 / Service 访问自己的资源则可以使用 AK/SK 直接访问(长期 Token),无需填写该参数。
2.用户 / Service 通过扮演角色去调用接口时需要使用 STS。具体流程:先调用 AssumeRole 获得短期 token, 然后将该 Token 放入该参数去请求目标接口。

(2)Query请求参数
业务请求参数

参数可选/必选类型说明
Action必选String接口名,取值:CertToken
Version必选String版本号,取值:2022-08-31

(3)Body请求参数
业务请求参数

字段名类型必选/可选说明备注
req_keystring必选此处请填写cert_token
sts_tokenstring必选通过STS接口获取的临时token
tos_infojson可选客户TOS信息,在需要将认证数据存储到客户TOS时必传
ref_sourcestring必选比对类型可选类型:
0:无源比对
1:有源比对
liveness_typestring必选端上活体类型可选类型:
motion(默认):动作活体
reflection:炫彩活体(仅在使用SDK时生效)
still:静默活体(仅在使用SDK时生效)
idcard_namestring在有源比对时必选身份证姓名
idcard_nostring在有源比对时必选身份证号
ref_imagestring在无源比对时必选输入图片的base64数组,在无源比对时需要传入1张用户的基准图,有源比对无需传入
liveness_timeoutint可选端上活体超时时长可选范围: [5, 60],默认:10
motion_listarray of string可选可被下发的动作列表,仅在动作活体炫彩活体生效。可选动作:
0:眨眼
1:张嘴
2:点头
3:摇头
fixed_motion_listarray of string可选固定一定需要下发的动作列表,仅在动作活体炫彩活体生效。取值同motion_list
motion_countint可选选中的动作个数,仅在动作活体炫彩活体生效。可选范围:[1, 4],默认:2
max_liveness_trialint可选端上活体最大尝试次数可选范围:[1, 100],默认:10
callback_infojson可选回调配置信息
config_idstring可选固定配置ID,固定配置的说明与使用方式请参考Config接口

tos_info说明

字段名类型必选/可选说明备注
sts_akstring必选客户通过STS接口获取的临时AK,在需要将认证数据存储到客户TOS时必传
sts_skstring必选客户通过STS接口获取的临时SK,在需要将认证数据存储到客户TOS时必传
sts_tokenstring必选客户通过STS接口获取的临时Token,在需要将认证数据存储到客户TOS时必传
bucketstring必选TOS Bucket
endpointstring必选TOS Endpoint
regionstring必选TOS Region

callback_info说明

字段名类型必选/可选说明备注
switchbool必选如需主动推送结果的回调,请填入true默认false
blockbool必选如需阻塞式回调,请填入true默认false
urlstring必选回调的目标位置默认为空串,且仅当非空串时才尝试回调
client_namestring必选回调接收客户的唯一代号,用于回调信息的加密使用回调功能的接入方必须注册,获取代号以及对应的秘钥

回调说明

当回调开关为true时,在callback_info中提供的url会收到HTTP POST的回调信息,为application/json格式,各字段如下,重要字段皆使用AES-CBC对称加密,使用该功能的接入方应联系我们获取唯一秘钥。
回调信息解密:回调报文的body为json编码序列,除了result字段,其余字段均使用AES-CBC对称加密算法,使用的秘钥为128位,秘钥(key)和初始化向量(iv)一致,解密后的数据最后一字节存储了填充字节数,解密后的数据去掉填充字节数为有效部分,取有效部分即为原始json序列,以下python伪代码展示了解密一个字段过程。

from Crypto.Cipher import AES
import base64

# key为秘钥, iv为初始化向量, content为回调HTTP报文的body内容
cipher = AES.new(key, AES.MODE_CBC, iv)
src_cmp_details = json.loads(content)["source_comp_details"]
ciphertext = base64.b64decoding(src_cmp_details)
text = cipher.decrypt(ciphertext)
valid_len = text[-1]
ret = text[:len(text)-valid_len]
# ret为source_comp_details的明文结果
字段名类型是否加密说明备注
resultbool认证结果
source_comp_detailsjson认证的分数和阈值。详细见:Query接口中的source_comp_details
verify_req_measure_infojson计费说明,部分服务异常情况时无法返回。详细见:错误码和计费中的verify_req_measure_info
verify_algorithm_base_respjson子错误说明,可以进一步区分错误原因,部分服务异常情况时无法返回。详细见错误码和计费中的verify_algorithm_base_resp。
byted_tokenstring本次人脸核身的唯一token

输出说明

(1)通用输出参数
请参考通用返回字段及错误码

(2)业务输出参数
data 字段说明

字段名类型必选/可选说明备注
byted_tokenstring必选本次人脸核身的唯一token
client_configstring必选客户端配置信息,请直接透传给端上。

(3)输出示例

{
    "code":10000,
    "data":{
        "byted_token": "",
        "client_config": ""
    },
    "message":"Success",
    "request_id":"6838889517957515275",
    "time_elapsed":"41.897331ms"
}

错误码

(1)通用错误码
请参考通用返回字段及错误码

(2)业务错误码

HttpCode错误码错误消息描述
20010000"Success"成功