• Home
  • Line#
  • Scopes#
  • Navigate#
  • Raw
  • Download
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_BIOMETRIC18
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