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