文档管理中心

realName (华为账号实名认证服务)

本模块提供Account Kit实名认证能力,包括人脸核身功能。

起始版本:5.0.0(12)

说明

该接口目前暂停开放。

导入模块

import { realName } from '@kit.AccountKit';

FacialRecognitionVerificationRequest

该类为人脸核身请求对象,定义了人脸核身请求参数。

模型约束:此接口仅可在Stage模型下使用。

元服务API:从版本5.0.0(12)开始,该接口支持在元服务中使用。

系统能力:SystemCapability.AuthenticationServices.HuaweiID.RealNameVerify

起始版本:5.0.0(12)

展开

名称

类型

只读

可选

说明

verificationToken

string

身份认证令牌,调用华为账号OpenRealName服务实名信息校验接口获取。

state

string

请求体中的state参数,开发者可自定义,字符包含0-9、a-z、A-Z、英文点号、英文冒号、斜杠、下划线等,长度限制255,校验规则^[0-9a-zA-Z:/\.\-_]{1,255}$。该参数与响应体中返回的state比较,校验是否是当前请求,可防止跨站攻击。

推荐开发者用随机数并做一致性校验。建议生成方式:util.generateRandomUUID()

示例:

import { realName } from '@kit.AccountKit';
import { util } from '@kit.ArkTS';

const request: realName.FacialRecognitionVerificationRequest = {
  verificationToken: "<可调用华为账号服务实名信息校验接口获取>", // 调用华为账号OpenRealName服务实名信息校验接口获取
  state: util.generateRandomUUID() // 建议使用generateRandomUUID生成state
}

FacialRecognitionVerificationResult

该类为人脸核身请求结果对象,定义了人脸核身请求返回结果数据字段。

模型约束:此接口仅可在Stage模型下使用。

元服务API:从版本5.0.0(12)开始,该接口支持在元服务中使用。

系统能力:SystemCapability.AuthenticationServices.HuaweiID.RealNameVerify

起始版本:5.0.0(12)

展开

名称

类型

只读

可选

说明

facialRecognitionVerificationToken

string

验证成功后返回的人脸核身验证令牌。

state

string

响应体中返回的state,字符包含0-9、a-z、A-Z、英文点号、英文冒号、斜杠、下划线等,长度限制255,校验规则^[0-9a-zA-Z:/\.\-_]{1,255}$。与请求体中传入的state比较,校验是否是当前请求,防止跨站攻击。

推荐开发者用随机数并做一致性校验。建议生成方式:util.generateRandomUUID()

RealNameErrorCode

该枚举为Account Kit实名认证服务相关接口的错误码。

模型约束:此接口仅可在Stage模型下使用。

元服务API:从版本5.0.0(12)开始,该接口支持在元服务中使用。

系统能力:SystemCapability.AuthenticationServices.HuaweiID.RealNameVerify

起始版本:5.0.0(12)

展开

名称

说明

NETWORK_ERROR

1002500001

网络不可用。

ACCOUNT_NOT_LOGGED_IN

1002500002

用户未登录华为账号。

PACKAGE_FINGERPRINT_CHECK_ERROR

1002500003

应用指纹证书校验失败。

PERMISSION_CHECK_ERROR

1002500004

应用程序未申请对应permissions权限。

USER_CANCELED

1002500005

用户取消验证。

INTERNAL_ERROR

1002500006

内部错误。

REAL_NAME_UNSUPPORTED

1002500008

该华为账号不支持实名验证。

REAL_NAME_VERIFICATION_ERROR

1002500009

实名渠道验证错误。

FACE_NOT_MATCH

1002500011

您的面部与作为身份证明的面部图像不匹配。

REAL_NAME_NOT_EXIST

1002500012

未查询到该华为账号的实名信息。

NAME_AND_ID_NUMBER_NOT_MATCH

1002500013

姓名和身份证号码不匹配。

TOO_MANY_ATTEMPTS

1002500014

实名验证尝试次数过多。24小时后重试。

VERIFICATION_TOKEN_INCORRECT

1002500015

参数verificationToken不合法。

DEVICE_NOT_SUPPORTED

1002500016

此设备不支持此API。

startFacialRecognitionVerification

startFacialRecognitionVerification(context: common.Context, request: FacialRecognitionVerificationRequest): Promise<FacialRecognitionVerificationResult>

执行华为账号人脸核身请求。使用Promise异步回调。

说明

此接口暂不支持儿童账号使用。

模型约束:此接口仅可在Stage模型下使用。

元服务API:从版本5.0.0(12)开始,该接口支持在元服务中使用。

系统能力:SystemCapability.AuthenticationServices.HuaweiID.RealNameVerify

起始版本:5.0.0(12)

参数:

展开

参数名

类型

必填

说明

context

common.Context

Context上下文。

应用可支持的Context有:UIAbilityContextUIExtensionContext

不支持应用在半模态、弹出框、子窗口等非全页面组件中使用UIExtensionContext调用。

元服务可支持的Context有:UIAbilityContext

request

FacialRecognitionVerificationRequest

人脸核身请求对象,包含请求参数。

返回值:

展开

类型

说明

Promise<FacialRecognitionVerificationResult>

Promise对象,返回FacialRecognitionVerificationResult对象。

错误码:

以下错误码的详细介绍请参见通用错误码ArkTS错误码

展开

错误码ID

错误信息

401

Parameter error. Possible causes: 1. Mandatory parameters are left unspecified; 2. Incorrect parameter types; 3. Parameter verification failed.

1002500001

The network is unavailable.

1002500002

The user has not logged in with HUAWEI ID.

1002500003

Failed to check the fingerprint of the application bundle.

1002500004

The application does not have the required permissions.

1002500005

The user canceled the verification of the HUAWEI ID.

1002500006

Internal error.

1002500008

Real-name verification is not supported for the HUAWEI ID.

1002500011

Your face does not match your facial image as proof of identity.

1002500012

No real-name information is found for the HUAWEI ID.

1002500013

Your name and ID number do not match.

1002500014

Too many real-name verification attempts.

1002500015

The verificationToken parameter is incorrectly set.

1002500016

This device does not support this API.

示例:

import { realName } from '@kit.AccountKit';
import { BusinessError } from '@kit.BasicServicesKit';
import { hilog } from '@kit.PerformanceAnalysisKit';
import { util } from '@kit.ArkTS';

const request: realName.FacialRecognitionVerificationRequest = {
  verificationToken: "<可调用华为账号服务实名信息校验接口获取>", // 调用华为账号OpenRealName服务实名信息校验接口获取
  state: util.generateRandomUUID() // 建议使用generateRandomUUID生成state
}
hilog.info(0x0000, 'testTag', 'verifyFacialRecognitionWithPromise params %{public}s,', JSON.stringify(request));
realName.startFacialRecognitionVerification(getContext(this), request).then(data => {
  const verifyResult = data as realName.FacialRecognitionVerificationResult;
  hilog.info(0x0000, 'testTag', 'Succeeded in verifying facial recognition.');
}).catch((error: BusinessError<Object>) => {
  this.dealAllError(error);
})

// 错误处理
dealAllError(error: BusinessError<Object>): void {
  hilog.error(0x0000, 'testTag', `Failed to authorize. Code: ${error.code}, message: ${error.message}`);
}
搜索
请输入您想要搜索的关键词