1# Canceling User Authentication 2 3 4This topic walks you through the process of canceling an authentication in process. 5 6 7## Available APIs 8 9For details about the parameters, return value, and error codes, see [cancel](../../reference/apis-user-authentication-kit/js-apis-useriam-userauth.md#cancel10). 10 11This topic describes only the API for canceling authentication. For details about the APIs for initiating authentication, see [Initiating Authentication](start-authentication.md) and [User Authentication](../../reference/apis-user-authentication-kit/js-apis-useriam-userauth.md). 12 13| API| Description| 14| -------- | -------- | 15| cancel(): void | Cancels this user authentication.| 16 17 18## How to Develop 19 201. Check that the application has the ohos.permission.ACCESS_BIOMETRIC permission. For details about how to request permissions, see [Requesting Permissions](prerequisites.md#requesting-permissions). 21 222. Set [AuthParam](../../reference/apis-user-authentication-kit/js-apis-useriam-userauth.md#authparam10) (including the challenge value, [UserAuthType](../../reference/apis-user-authentication-kit/js-apis-useriam-userauth.md#userauthtype8), and [AuthTrustLevel](../../reference/apis-user-authentication-kit/js-apis-useriam-userauth.md#authtrustlevel8)), obtain a [UserAuthInstance](../../reference/apis-user-authentication-kit/js-apis-useriam-userauth.md#userauthinstance10) instance, and call [UserAuthInstance.start](../../reference/apis-user-authentication-kit/js-apis-useriam-userauth.md#start10) to start authentication. 23 For details, see [Initiating Authentication](start-authentication.md). 24 253. Use [UserAuthInstance.cancel](../../reference/apis-user-authentication-kit/js-apis-useriam-userauth.md#cancel10) with the **UserAuthInstance** instance that has initiated the authentication to cancel the authentication. 26 27Example: Initiate the facial and lock screen password authentication with the authentication trust level greater than or equal to ATL3 and cancel it. 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 // Set authentication parameters. 39 const authParam: userAuth.AuthParam = { 40 challenge: randData, 41 authType: [userAuth.UserAuthType.PIN, userAuth.UserAuthType.FACE], 42 authTrustLevel: userAuth.AuthTrustLevel.ATL3, 43 }; 44 // Set the authentication page. 45 const widgetParam: userAuth.WidgetParam = { 46 title: 'Verify identity', 47 }; 48 // Obtain a UserAuthInstance object. 49 const userAuthInstance = userAuth.getUserAuthInstance(authParam, widgetParam); 50 console.info('get userAuth instance success'); 51 // Start user authentication. 52 userAuthInstance.start(); 53 console.info('auth start success'); 54 // Cancel the authentication. 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