diff --git a/zh-cn/application-dev/security/userauth-guidelines-api6.md b/zh-cn/application-dev/security/userauth-guidelines-api6.md index 671a7207d3cb8280b2dcd2bc550c1be903fcb8a9..4e97e81873640b74c6f4e0dd3dbea496bc90e799 100644 --- a/zh-cn/application-dev/security/userauth-guidelines-api6.md +++ b/zh-cn/application-dev/security/userauth-guidelines-api6.md @@ -1,6 +1,7 @@ # 用户认证开发指导 -> **说明:**该开发指导匹配@ohos.userIAM.userAuth API Version 6开始支持的接口。对应接口已在API Version 8废弃,建议使用{新接口](#userauth-guidelines-api8.md)。 +> **说明:** +> 该开发指导匹配@ohos.userIAM.userAuth API Version 6开始支持的接口。对应接口已在API Version 8废弃,建议使用[新接口](#userauth-guidelines-api8.md)。 ## 场景介绍 diff --git a/zh-cn/application-dev/security/userauth-guidelines-api6.md.bak b/zh-cn/application-dev/security/userauth-guidelines-api6.md.bak new file mode 100644 index 0000000000000000000000000000000000000000..4b013951aceeb9cf96265e74888db11848aca0da --- /dev/null +++ b/zh-cn/application-dev/security/userauth-guidelines-api6.md.bak @@ -0,0 +1,49 @@ +# 用户认证开发指导 + +> **说明:** +> +> 该开发指导匹配@ohos.userIAM.userAuth API Version 6开始支持的接口。对应接口已在API Version 8废弃,建议使用[新接口](#userauth-guidelines-api8.md)。 + +## 场景介绍 + +当前用户认证支持2D人脸识别、3D人脸识别,可应用于设备解锁、应用登录、支付等身份认证场景。 + +## 接口说明 + +userIAM_userAuth模块提供了用户认证的相关方法,包括获取认证对象、认证,用户可以使用人脸等生物特征信息进行认证操作。具体接口说明可以查阅[API参考](../reference/apis/js-apis-useriam-userauth.md)。 + +**表1** 用户认证开放能力列表 + +| 接口名 | 功能描述 | +| ------------------------------------------------------------ | --------------------------------------------- | +| getAuthenticator(): Authenticator | 获取Authenticator对象,用于执行用户身份认证。 | +| execute(type: AuthType, level: SecureLevel, callback: AsyncCallback\): void | 执行用户认证,使用callback方式作为异步方法。 | +| execute(type: AuthType, level: SecureLevel): Promise\ | 执行用户认证,使用Promise方式作为异步方法。 | + +## 开发步骤 + +开发前请完成以下准备工作: + +1. 在应用配置权限文件中,增加ohos.permission.ACCESS_BIOMETRIC的权限声明。 +2. 在使用用户认证能力的代码文件中增加import userIAM_userAuth from '@ohos.userIAM.userAuth'。 + +开发过程: + +1. 获取Authenticator的单例对象,代码示例如下: + + ```js + let auth = userIAM_userAuth.getAuthenticator(); + ``` + +4. 执行认证操作,代码示例如下: + + ```js + let authenticator = userIAM_userAuth.getAuthenticator(); + authenticator.execute("FACE_ONLY", "S2").then((code)=>{ + authenticator.off("tip", tipCallback); + console.info("auth success"); + }).catch((code)=>{ + authenticator.off("tip", tipCallback); + console.error("auth fail, code = " + code); + }); + ``` diff --git a/zh-cn/application-dev/security/userauth-guidelines-api8.md b/zh-cn/application-dev/security/userauth-guidelines-api8.md index 43768f5fe707ae9ebccc6417f84a0638140c0da1..39099957095c0a95bfb998a6e39fff00b79a59f0 100644 --- a/zh-cn/application-dev/security/userauth-guidelines-api8.md +++ b/zh-cn/application-dev/security/userauth-guidelines-api8.md @@ -1,6 +1,7 @@ # 用户认证开发指导 -> **说明:**该开发指导匹配@ohos.userIAM.userAuth API Version 8开始支持的接口。 +> **说明:** +> 该开发指导匹配@ohos.userIAM.userAuth API Version 8开始支持的接口。 ## 场景介绍 @@ -101,5 +102,3 @@ userIAM_userAuth模块提供了用户认证的相关方法,包括检测认证 console.error("cancel auth fail"); } ``` - - diff --git a/zh-cn/application-dev/security/userauth-guidelines-api8.md.bak b/zh-cn/application-dev/security/userauth-guidelines-api8.md.bak new file mode 100644 index 0000000000000000000000000000000000000000..098b6af75697a28ba4a13473fb3887c6435ce3e9 --- /dev/null +++ b/zh-cn/application-dev/security/userauth-guidelines-api8.md.bak @@ -0,0 +1,105 @@ +# 用户认证开发指导 + +> **说明:** +> +> 该开发指导匹配@ohos.userIAM.userAuth API Version 8开始支持的接口。 + +## 场景介绍 + +当前用户认证支持2D人脸识别、3D人脸识别,可应用于设备解锁、应用登录、支付等身份认证场景。 + +## 接口说明 + +userIAM_userAuth模块提供了用户认证的相关方法,包括检测认证能力、认证和取消认证等,用户可以使用人脸等生物特征信息进行认证操作。具体接口说明可以查阅[API参考](../reference/apis/js-apis-useriam-userauth.md)。 + +在执行认证前,需要检查设备是否支持该认证能力,具体指认证类型、认证等级。如果不支持,需要考虑使用其他认证能力。 + +**表1** 用户认证开放能力列表 + +| 接口名 | 功能描述 | +| ------------------------------------------------------------ | ------------------------------------------------------------ | +| getVersion() : number | 获取认证对象的版本信息。 | +| getAvailableStatus(authType : UserAuthType, authTrustLevel : AuthTrustLevel) : number | 根据指定的认证类型、认证等级,检测当前设备是否支持相应的认证能力。 | +| auth(challenge: Uint8Array, authType: UserAuthType, authTrustLevel: AuthTrustLevel, callback: IUserAuthCallback): Uint8Array | 执行用户认证,使用callback方式作为异步方法。 | +| cancelAuth(contextID : Uint8Array) : number | 通过contextID取消本次认证操作。 | + +## 开发步骤 + +开发前请完成以下准备工作: + +1. 在应用配置权限文件中,增加ohos.permission.ACCESS_BIOMETRIC的权限声明。 +2. 在使用用户认证能力的代码文件中增加import userIAM_userAuth from '@ohos.userIAM.userAuth'。 + +开发过程: + +1. 获取Authenticator的单例对象,代码示例如下: + + ```js + let auth = new userIAM_userAuth.UserAuth(); + ``` + +2. (可选)获取认证器的版本信息,代码示例如下: + + ```js + let auth = new userIAM_userAuth.UserAuth(); + let version = auth.getVersion(); + console.info("auth version = " + version); + ``` + +3. 根据指定的认证类型、认证等级,检测当前设备是否支持相应的认证能力,代码示例如下: + + ```js + let auth = new userIAM_userAuth.UserAuth(); + let checkCode = auth.getAvailableStatus(userIAM_userAuth.UserAuthType.FACE, userIAM_userAuth.AuthTrustLevel.ATL1); + if (checkCode == userIAM_userAuth.ResultCode.SUCCESS) { + console.info("check auth support success"); + // 此处添加支持指定类型认证的逻辑 + } else { + console.error("check auth support fail, code = " + checkCode); + // 此处添加不支持指定类型认证的逻辑 + } + ``` + +4. 执行认证操作,代码示例如下: + + ```js + let auth = new userIAM_userAuth.UserAuth(); + auth.auth(null, userIAM_userAuth.UserAuthType.FACE, userIAM_userAuth.AuthTrustLevel.ATL1, { + onResult: (result, extraInfo) => { + try { + console.info("auth onResult result = " + result); + console.info("auth onResult extraInfo = " + JSON.stringify(extraInfo)); + if (result == 'SUCCESS') { + // 此处添加认证成功逻辑 + } else { + // 此处添加认证失败逻辑 + } + } catch (e) { + console.info("auth onResult error = " + e); + } + }, + + onAcquireInfo: (module, acquire, extraInfo) => { + try { + console.info("auth onAcquireInfo module = " + module); + console.info("auth onAcquireInfo acquire = " + acquire); + console.info("auth onAcquireInfo extraInfo = " + JSON.stringify(extraInfo)); + } catch (e) { + console.info("auth onAcquireInfo error = " + e); + } + } + }); + ``` + +5. 认证过程中取消认证,代码示例如下: + + ```js + // contextId可通过auth接口获取,此处直接定义 + let contextId = new Uint8Array([0, 1, 2, 3, 4, 5, 6, 7]); + let cancelCode = auth.cancel(contextId); + if (cancelCode == userIAM_userAuth.ResultCode.SUCCESS) { + console.info("cancel auth success"); + } else { + console.error("cancel auth fail"); + } + ```