1# 认证过程中取消认证 2 3统一用户认证框架提供了cancel接口,当应用在认证过程中,需要取消认证时可调用该接口。 4 5## 接口说明 6 7具体参数、返回值、错误码等描述,请参考对应的[API文档](../../reference/apis-user-authentication-kit/js-apis-useriam-userauth.md#cancel10)。 8 9此处仅展示了取消认证操作的接口,在取消认证前,需要先发起认证,发起认证的接口列表、详细说明可参考[发起认证](start-authentication.md)章节和API文档。 10 11| 接口名称 | 功能描述 | 12| -------- | -------- | 13| cancel(): void | 取消本次认证操作。 | 14 15## 开发步骤 16 171. [申请权限](prerequisites.md#申请权限):ohos.permission.ACCESS_BIOMETRIC。 18 192. 指定用户认证相关参数[AuthParam](../../reference/apis-user-authentication-kit/js-apis-useriam-userauth.md#authparam10)(包括挑战值、认证类型[UserAuthType](../../reference/apis-user-authentication-kit/js-apis-useriam-userauth.md#userauthtype8)列表和认证等级[AuthTrustLevel](../../reference/apis-user-authentication-kit/js-apis-useriam-userauth.md#authtrustlevel8)),获取认证对象[UserAuthInstance](../../reference/apis-user-authentication-kit/js-apis-useriam-userauth.md#userauthinstance10),并调用[UserAuthInstance.start](../../reference/apis-user-authentication-kit/js-apis-useriam-userauth.md#start10)发起认证。此步骤详细说明可参考[发起认证](start-authentication.md)。 20 213. 通过使用已经成功发起认证的UserAuthInstance对象调用[UserAuthInstance.cancel](../../reference/apis-user-authentication-kit/js-apis-useriam-userauth.md#cancel10)接口取消本次认证。 22 23示例代码为发起认证可信等级≥ATL3的人脸+锁屏密码认证后,取消认证请求: 24 25```ts 26import { BusinessError } from '@kit.BasicServicesKit'; 27import { cryptoFramework } from '@kit.CryptoArchitectureKit'; 28import { userAuth } from '@kit.UserAuthenticationKit'; 29 30try { 31 const rand = cryptoFramework.createRandom(); 32 const len: number = 16; 33 const randData: Uint8Array = rand?.generateRandomSync(len)?.data; 34 // 设置认证参数。 35 const authParam: userAuth.AuthParam = { 36 challenge: randData, 37 authType: [userAuth.UserAuthType.PIN, userAuth.UserAuthType.FACE], 38 authTrustLevel: userAuth.AuthTrustLevel.ATL3, 39 }; 40 // 配置认证界面。 41 const widgetParam: userAuth.WidgetParam = { 42 title: '请进行身份认证', 43 }; 44 // 获取认证对象。 45 const userAuthInstance = userAuth.getUserAuthInstance(authParam, widgetParam); 46 console.info('get userAuth instance success'); 47 // 开始认证。 48 userAuthInstance.start(); 49 console.info('auth start success'); 50 // 取消认证。 51 userAuthInstance.cancel(); 52 console.info('auth cancel success'); 53} catch (error) { 54 const err: BusinessError = error as BusinessError; 55 console.error(`auth catch error. Code is ${err?.code}, message is ${err?.message}`); 56} 57``` 58