1# @ohos.userIAM.userAuthIcon (嵌入式用户身份认证控件)
2
3提供应用界面上展示的人脸、指纹认证图标,具体功能如下:
4
51. 提供嵌入式的人脸、指纹认证控件图标,可被应用集成。
6
72. 支持自定义图标的颜色和大小,但图标样式不可变更。
8
93. 点击控件图标后将以系统弹窗的方式,拉起人脸、指纹认证控件。
10
11> **说明:**
12> - 本模块首批接口从API version 12开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。
13
14
15## 导入模块
16
17```ts
18import { userAuth, UserAuthIcon } from '@kit.UserAuthenticationKit';
19```
20
21
22## 子组件
23
2425
26
27## 属性
28
29不支持通用属性。
30
31## UserAuthIcon
32
33UserAuthIcon({
34  authParam: userAuth.AuthParam,
35  widgetParam: userAuth.WidgetParam,
36  iconHeight?: Dimension,
37  iconColor?: ResourceColor,
38  onIconClick?: ()=>void,
39  onAuthResult: (result: userAuth.UserAuthResult)=>void
40})
41
42**装饰器类型:**\@Component
43
44**原子化服务API:** 从API version 12开始,该接口支持在原子化服务中使用。
45
46**系统能力:** SystemCapability.UserIAM.UserAuth.Core
47
48**参数:**
49
50| 名称           | 类型                                                         | 必填 | 说明                                                         |
51| -------------- | ----------------------------------------------------------- | ---- | ------------------------------------------------------------ |
52| authParam      | [AuthParam](js-apis-useriam-userauth.md#authparam10)        | 是   | 用户认证相关参数。                                             |
53| widgetParam    | [WidgetParam](js-apis-useriam-userauth.md#widgetparam10)    | 是   | 用户认证界面配置相关参数。                                      |
54| iconHeight     | [Dimension](../apis-arkui/arkui-ts/ts-types.md#dimension10) | 否   | 设置icon的高度,宽高比1:1,默认64。                             |
55| iconColor      | [ResourceColor](../apis-arkui/arkui-ts/ts-types.md#resourcecolor) | 否   | 设置icon的颜色,默认值:$r('sys.color.ohos_id_color_activated')。|
56| onIconClick    | ()=>void                                                      | 否   | 用户点击icon回调接口。                                         |
57| onAuthResult   | (result: [UserAuthResult](js-apis-useriam-userauth.md#userauthresult10))=>void| 是   | 用户认证结果信息回调接口。<br/>**需要权限:** ohos.permission.ACCESS_BIOMETRIC  |
58
59
60## 事件
61
62不支持通用事件。
63
64## 示例
65
66```ts
67import { userAuth, UserAuthIcon } from '@kit.UserAuthenticationKit';
68
69@Entry
70@Component
71struct Index {
72  authParam: userAuth.AuthParam = {
73    challenge: new Uint8Array([49, 49, 49, 49, 49, 49]),
74    authType: [userAuth.UserAuthType.FACE, userAuth.UserAuthType.PIN],
75    authTrustLevel: userAuth.AuthTrustLevel.ATL3
76  };
77  widgetParam: userAuth.WidgetParam = {
78    title: '请进行身份认证'
79  };
80
81  build() {
82    Row() {
83      Column() {
84        UserAuthIcon({
85          authParam: this.authParam,
86          widgetParam: this.widgetParam,
87          iconHeight: 200,
88          iconColor: Color.Blue,
89          onIconClick: () => {
90            console.info('The user clicked the icon.');
91          },
92          onAuthResult: (result: userAuth.UserAuthResult) => {
93            console.info(`Get user auth result, result = ${JSON.stringify(result)}`);
94          }
95        })
96      }
97    }
98  }
99}
100```
101
102调用onAuthResult可能会抛出错误码,错误码详细介绍请参见[用户认证错误码](errorcode-useriam.md)。
103
104**人脸认证图例:**
105
106![人脸图标](figures/user_auth_icon_face.png)
107
108**指纹认证图例:**
109
110![指纹图标](figures/user_auth_icon_fingerprint.png)
111