SDK配合调用接口

优质
小牛编辑
131浏览
2023-12-01

1./v2/sdk/get_token

1.1 接口描述

该API的功能是配合活体检测SDK使用,在SDK启动前获取token,get_token 接口是与 liveness_auth 配对使用的,使用get_token 获取token,活体检测初始化时调用liveness_auth 对token进行验证

请求方式

POST

请求 URL

https://cloudapi.linkface.cn/v2/sdk/get_token

1.2 请求参数

字段类型必需描述
sequence_idstring客户请求流水号(建议使用64位的随机字符串,用于客户查询日志使用)
api_idstringAPI账户
detection_typestring检测类型(取值范围:liveness、idcard_ocr、bankcard_ocr),如果传其他值过来,则报入参错误,1002,请求参数错误
timestampstring时间戳
signstring签名(api_id+api_secret+timestamp使用SHA256算法获取)

所有中文和特殊字符必需以UTF-8编码转义。

签名sign说明:

我们会为每位公有云用户分配一个账户API ID和对应秘钥API SECRET。为了保证安全性,用户的每次接口调用都需要上传一个签名(基于API ID和API SECRET获取)。

Java示例代码:

SHA256Util.getSHA256Str(LF_APP_ID + LF_APP_SECRET + timeStamp)
/**
     * 利用java原生的摘要实现SHA256加密
     *
     * @param str 加密后的报文
     */
    public static String getSHA256Str(String str) {
        MessageDigest messageDigest;
        String encodeStr = "";
        try {
            messageDigest = MessageDigest.getInstance("SHA-256");
            messageDigest.update(str.getBytes("UTF-8"));
            encodeStr = byte2Hex(messageDigest.digest());
        } catch (NoSuchAlgorithmException e) {
            e.printStackTrace();
        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        return encodeStr;
    }
    /**
     * 将byte转为16进制
     */
    private static String byte2Hex(byte[] bytes) {
        StringBuffer stringBuffer = new StringBuffer();
        String temp = null;
        for (int i = 0; i < bytes.length; i++) {
            temp = Integer.toHexString(bytes[i] & 0xFF);
            if (temp.length() == 1) {
                //1得到一位的进行补0操作
                stringBuffer.append("0");
            }
            stringBuffer.append(temp);
        }
        return stringBuffer.toString();
    }

1.3 返回参数

字段类型描述
request_idstring本次请求的唯一流水号(建议使用64位的随机字符串,用于客户查询日志使用)
codestring业务响应码
msgstring消息说明
dataobject消息体(只有0000调用成功时返回)
chargeint是否收费,1收费,2不收费

data详情:

字段类型描述
tokenstringSDK鉴权token,token的有效期是5分钟,超过5分钟后,客户服务端需重新调用get_token获取token。

输出示例:

成功返回示例:
{
  "request_id": "TID2af751b4bff24be781d60af10bf84101",
  "code": "0000",
  "msg": "调用成功",
"data": {
  "token":"dstj2af751b4bff24be781d60af10bf84101"
}
  "charge": 2
}
失败返回示例:
{
  "request_id": "TID2af751b4bff24be781d60af10bf84101",
  "code": "1008",
  "msg": "服务无权限",
  "charge": 2
}

1.4 错误码

状态码codemsg 字段说明
0000调用成功成功
1000验签失败验签失败
1001参数非UTF-8编码参数非UTF-8编码
1002请求参数错误请求参数错误
1007应用冻结未授权
1008应用过期账号过期
1009调用频率过高调用频率超出限额
1011服务无权限无调用权限
9999其他错误服务器内部错误

1.5 输入示例

  • cURL 样例
curl -X POST "https://cloudapi.linkface.cn/v2/sdk/get_token?sequence_id=SEQUENCE&api_id=ID"  -F detection_type=DETECTION -F timestamp=TIMESTAMP -F sign=SIGN