服务端API接口

更新时间: 2024-12-16 17:21:33

本文介绍人脸保镖单独集成方案的服务端构建方法。

集成须知

重要

集成前请确认您已了解并完成接入前提的信息和操作。具体信息,请参见前提条件

服务接入点

目前支持的接入地域如下表所示。

重要

建议您参考本文示例代码,配置主备地域Endpoint。在主Endpoint发生故障时可以自动切换到备用Endpoint,保证系统的持续可用性。

地域

服务地址

VPC地址

全局接入地址

华东2(上海)

IPv4:cloudauth.cn-shanghai.aliyuncs.com

cloudauth-vpc.cn-shanghai.aliyuncs.com

  • IPv4:cloudauth.aliyuncs.com

  • IPv6:cloudauth-dualstack.aliyuncs.com

IPv6:cloudauth-dualstack.aliyuncs.com

华北2(北京)

IPv4:cloudauth.cn-beijing.aliyuncs.com

cloudauth-vpc.cn-beijing.aliyuncs.com

IPv6:cloudauth-dualstack.cn-beijing.aliyuncs.com

SDK安装和下载

您可以在SDK中心获取不同编程语言SDK的包管理器安装方法和离线包。

image

image

QPS限量

API独享QPS限量,详情请参见服务端接口QPS限量说明

接口说明

  • 接口名:DescribeFaceGuardRisk

  • 全局接入地址:cloudauth.aliyuncs.com(IPv4)或cloudauth-dualstack.aliyuncs.com(IPv6)

  • 请求方法:POST和GET

  • 传输协议:HTTPS

  • 重要

    人脸保镖按照查询成功计量,建议您同一个 Device Token 查询成功后不要再重复查询,避免重复计量。

请求参数

名称

类型

是否必选

描述

示例值

ProductCode

String

固定值,传FACE_GUARD

FACE_GUARD

OuterOrderNo

String

您自定义的业务唯一标识,用于后续定位排查问题,支持长度为32位的字母和数字的组合,请确保唯一。

e0c34a77f5ac40a5aa5e6ed20c35****

BizId

String

本次业务认证的唯一ID,主要配合人脸保镖用于查询时校验。

1000******0001

DeviceToken

String

通过人脸保镖客户端SDK获取的deviceToken

Tk9SSUQuMS*****************ZDNmNWY5NzQxOW1o

返回参数

名称

类型

描述

示例值

RequestId

String

请求ID。

130A2C10-B9EE-4D84-88E3-5384FF039795

Message

String

请求信息的响应消息。

success

Code

String

返回码,200指接口响应成功。详细认证结果判断,请参见返回Code和Message

200

ResultObject.RiskTags

String

设备风险标签。多个设备风险标签以半角逗号,分隔。如需了解更多设备风险标签及其含义,请点击下方风险标签(RiskTags)折叠框查看。

ROOT,VPN,HOOK

ResultObject.RiskExtends

String

拓展信息。

默认为空。

风险标签(RiskTags)

风险类别

风险标签

描述

设备风险类(Native SDK)

ROOT

设备疑似ROOT、越狱。

HOOK

设备疑似HOOK。

VPN

设备疑似VPN。

Emulator

设备疑似模拟器。

SystemVirtual

设备系统多开。

重要

仅支持安卓

ThirdVirtual

设备三方多开。

重要

仅支持安卓

AdbModel

设备开启开发者模式。

重要

仅支持安卓

NoSimCard

设备未插卡。

VirtualVideo

虚拟视频注入。

MirroredScreen

屏幕录屏截屏。

重要

仅支持iOS

RiskROM

高危定制ROM。

重要

仅支持安卓

UnusualROM

非常规ROM。

重要

仅支持安卓

AutoOperation

自动化操作。

BlackTool

安装高危工具。

CloudPhone

云手机。

重要

仅支持安卓

BootUnLock

设备boot解锁

重要

仅支持安卓

ChargeScreenBright

手机充电屏幕长亮。

重要

仅支持安卓

ChargeScreenNoSecure

手机充电无锁屏密码。

重要

仅支持安卓

设备风险类(Web SDK)

VirtualBrowser

疑似虚拟浏览器。

VirtualCamera

疑似安装虚拟摄像头。

AutoOperation

疑似自动化工具。

BrowserTampered

疑似浏览器参数被篡改。

Debugger

疑似页面JS被调试。

CookieDisabled

cookie被禁用。

Incognito

浏览器处于隐身模式。

NoRefer

人脸认证页面无 referrer 来源。

UnmatchOsUrl

认证页面 URL 和设备不匹配。

deviceToken风险类

TokenIsNull

deviceToken为空。

TokenTampered

deviceToken篡改。

TokenInvalid

deviceToken无效。

TokenExpired

deviceToken过期(7天有效)。

通用类

BizIdNotMatch

bizId 和 token 不匹配。

其他

NoRisk

设备风险较低。

当系统未检测出上述风险时返回NoRisk标签。

NoTag

无tag命中。

当因为实人认证系统异常无法获取风险标签时,系统自动返回NoTag标签。

SDK调用示例

调用示例默认使用Java语言演示,其他语言示例参见其他语言支持

环境变量和依赖

调用接口

package com.aliyun.Sample.Cloudauth20190307;

import com.aliyun.cloudauth20190307.models.DescribeFaceGuardRiskResponse;
import com.aliyun.tea.TeaException;
import com.google.gson.Gson;

import java.util.UUID;


public class DescribeFaceGuardRiskDemo {

    public static com.aliyun.cloudauth20190307.Client createClient() throws Exception {
        // 工程代码泄露可能会导致 AccessKey 泄露,并威胁账号下所有资源的安全性。以下代码示例仅供参考。
        // 建议使用更安全的 STS 方式,更多鉴权访问方式请参见:https://help.aliyun.com/zh/sdk/developer-reference/v2-manage-access-credentials
        com.aliyun.teaopenapi.models.Config config = new com.aliyun.teaopenapi.models.Config()
                // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_ID。
                .setAccessKeyId(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_ID"))
                // 必填,请确保代码运行环境设置了环境变量 ALIBABA_CLOUD_ACCESS_KEY_SECRET。
                .setAccessKeySecret(System.getenv("ALIBABA_CLOUD_ACCESS_KEY_SECRET"));
        // Endpoint 请参考 https://api.aliyun.com/product/Cloudauth
        config.endpoint = "cloudauth.aliyuncs.com";
        return new com.aliyun.cloudauth20190307.Client(config);
    }

    public static void main(String[] args_) throws Exception {
        //client只需要创建一遍
        com.aliyun.cloudauth20190307.Client client = DescribeFaceGuardRiskDemo.createClient();

        //发起请求
        com.aliyun.cloudauth20190307.models.DescribeFaceGuardRiskRequest describeFaceGuardRiskRequest = new com.aliyun.cloudauth20190307.models.DescribeFaceGuardRiskRequest()
                .setProductCode("FACE_GUARD")
                .setDeviceToken("<客户端获取的DeviceToken>")
                .setOuterOrderNo("7648ae2ce2ad423ea8a8d6de1676****")
                .setBizId(UUID.randomUUID().toString());
        com.aliyun.teautil.models.RuntimeOptions runtime = new com.aliyun.teautil.models.RuntimeOptions()
                .setReadTimeout(3000)
                .setConnectTimeout(3000);
        try {
            // 调用DescribeFaceGuardRisk接口,获取识别结果。
            DescribeFaceGuardRiskResponse response = client.describeFaceGuardRiskWithOptions(describeFaceGuardRiskRequest, runtime);
            System.out.println(new Gson().toJson(response));
        } catch (TeaException error) {
            // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
            // 错误 message
            System.out.println(error.getMessage());
            // 诊断地址
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        } catch (Exception _error) {
            TeaException error = new TeaException(_error.getMessage(), _error);
            // 此处仅做打印展示,请谨慎对待异常处理,在工程项目中切勿直接忽略异常。
            // 错误 message
            System.out.println(error.getMessage());
            // 诊断地址
            System.out.println(error.getData().get("Recommend"));
            com.aliyun.teautil.Common.assertAsString(error.message);
        }
    }
}

其他语言支持

您可以在OpenAPI平台中查看其他语言的SDK调用示例。

每种语言对应的SDK安装信息在示例代码的右上角可以查看。

image

上一篇: 接入流程 下一篇: 客户端集成
阿里云首页 实人认证 相关技术圈