1# 查询支持的认证能力
2
3
4不同的设备对于认证能力(人脸、指纹、口令)的支持性各有差异,开发者在发起认证前应当先查询当前设备支持的用户认证能力。
5
6
7## 接口说明
8
9具体参数、返回值、错误码等描述,请参考对应的[API文档](../../reference/apis-user-authentication-kit/js-apis-useriam-userauth.md#userauthgetavailablestatus9)。
10
11| 接口名称 | 功能描述 |
12| -------- | -------- |
13| getAvailableStatus(authType : UserAuthType, authTrustLevel : AuthTrustLevel): void | 根据指定的认证类型、认证等级,检测当前设备是否支持相应的认证能力。 |
14
15
16## 开发步骤
17
181. [申请权限](prerequisites.md#申请权限):ohos.permission.ACCESS_BIOMETRIC19
202. 指定认证类型([UserAuthType](../../reference/apis-user-authentication-kit/js-apis-useriam-userauth.md#userauthtype8))和认证等级([AuthTrustLevel](../../reference/apis-user-authentication-kit/js-apis-useriam-userauth.md#authtrustlevel8)),调用[getAvailableStatus](../../reference/apis-user-authentication-kit/js-apis-useriam-userauth.md#userauthgetavailablestatus9)接口查询当前的设备是否支持相应的认证能力。
21
22   认证可信等级的详细介绍请参见[认证可信等级划分原则](../../security/UserAuthenticationKit/user-authentication-overview.md)。
23
24以查询设备是否支持认证可信等级≥ATL1的人脸认证功能为例:
25
26```ts
27import { BusinessError } from  '@kit.BasicServicesKit';
28import { userAuth } from '@kit.UserAuthenticationKit';
29
30// 查询认证能力是否支持
31try {
32    userAuth.getAvailableStatus(userAuth.UserAuthType.FACE, userAuth.AuthTrustLevel.ATL1);
33    console.info('current auth trust level is supported');
34} catch (error) {
35    const err: BusinessError = error as BusinessError;
36    console.error(`current auth trust level is not supported. Code is ${err?.code}, message is ${err?.message}`);
37}
38```
39