1# User IAM Subsystem Changelog
2
3## cl.useriam.1 Deprecation of AuthEvent
4
5**Access Level**
6
7Public
8
9**Reason for Change**
10
11The user authentication widget is used to implement user identity authentication to ensure consistent user experience. The APIs of the original user identity authentication are deprecated.
12
13**Change Impact**
14
15This change is a compatible change. The use of deprecated APIs is not affected.
16
17**API Level**
18
198
20
21**Change Since**
22
23OpenHarmony SDK 4.1.6.2
24
25**Deprecated APIs/Components**
26
27| API| Description| Substitute API|
28|---------|----------|--------|
29| interface AuthEvent | This API is deprecated. Use **IAuthCallback** instead.| interface IAuthCallback |
30| callback(result: EventInfo): void | This API is deprecated. Use **onResult** in **IAuthCallback** instead.| method onResult |
31| field AuthEventKey | This API is deprecated.| N/A|
32| type EventInfo | This API is deprecated. Use **UserAuthResult** in **IAuthCallback** instead.| interface UserAuthResult |
33| interface AuthResultInfo | This API is deprecated.| N/A|
34| field result | This API is deprecated. Use **result** in **UserAuthResult** instead.| field result |
35| field token | This API is deprecated. Use **token** in **UserAuthResult** instead.| field token |
36| field remainAttempts | This API is deprecated.| N/A|
37| field lockoutDuration | This API is deprecated.| N/A|
38| interface TipInfo | This API is deprecated.| N/A|
39| field module | This API is deprecated.| N/A|
40| field tip | This API is deprecated.| N/A|
41| enum_class FingerprintTips | This API is deprecated.| N/A|
42| enum_instance FINGERPRINT_AUTH_TIP_TOO_SLOW | This API is deprecated.| N/A|
43| enum_instance FINGERPRINT_AUTH_TIP_TOO_FAST | This API is deprecated.| N/A|
44| enum_instance FINGERPRINT_AUTH_TIP_PARTIAL | This API is deprecated.| N/A|
45| enum_instance FINGERPRINT_AUTH_TIP_INSUFFICIENT | This API is deprecated.| N/A|
46| enum_instance FINGERPRINT_AUTH_TIP_DIRTY | This API is deprecated.| N/A|
47| enum_instance FINGERPRINT_AUTH_TIP_GOOD | This API is deprecated.| N/A|
48| enum_class FaceTips | This API is deprecated.| N/A|
49| enum_instance FACE_AUTH_TIP_TOO_BRIGHT | This API is deprecated.| N/A|
50| enum_instance FACE_AUTH_TIP_TOO_DARK | This API is deprecated.| N/A|
51| enum_instance FACE_AUTH_TIP_TOO_CLOSE | This API is deprecated.| N/A|
52| enum_instance FACE_AUTH_TIP_TOO_FAR | This API is deprecated.| N/A|
53| enum_instance FACE_AUTH_TIP_TOO_HIGH | This API is deprecated.| N/A|
54| enum_instance FACE_AUTH_TIP_TOO_LOW | This API is deprecated.| N/A|
55| enum_instance FACE_AUTH_TIP_TOO_RIGHT | This API is deprecated.| N/A|
56| enum_instance FACE_AUTH_TIP_TOO_LEFT | This API is deprecated.| N/A|
57| enum_instance FACE_AUTH_TIP_TOO_MUCH_MOTION | This API is deprecated.| N/A|
58| enum_instance FACE_AUTH_TIP_POOR_GAZE | This API is deprecated.| N/A|
59| enum_instance FACE_AUTH_TIP_NOT_DETECTED | This API is deprecated.| N/A|
60
61**Adaptation Guide**
62
63For example, replace the callback in **AuthEvent** with **onResult** of **IAuthCallback**. The sample code is as follows:
64
65```js
66import userIAM_userAuth from '@ohos.userIAM.userAuth';
67
68let challenge = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]);
69let authType = userIAM_userAuth.UserAuthType.FACE;
70let authTrustLevel = userIAM_userAuth.AuthTrustLevel.ATL1;
71try {
72  let auth = userIAM_userAuth.getAuthInstance(challenge, authType, authTrustLevel);
73  auth.on('result', {
74    // In API version 9, the callback in AuthEvent returns the authentication result.
75    callback: (result: userIAM_userAuth.AuthResultInfo) => {
76      console.log('authV9 result ' + result.result);
77      console.log('authV9 token ' + result.token);
78      console.log('authV9 remainAttempts ' + result.remainAttempts);
79      console.log('authV9 lockoutDuration ' + result.lockoutDuration);
80    }
81  } as userIAM_userAuth.AuthEvent);
82  auth.start();
83  console.log('authV9 start success');
84} catch (error) {
85  console.error('authV9 error = ' + error);
86  // do error
87}
88```
89
90```js
91import userAuth from '@ohos.userIAM.userAuth';
92
93const authParam : userAuth.AuthParam = {
94  challenge: new Uint8Array([49, 49, 49, 49, 49, 49]),
95  authType: [userAuth.UserAuthType.PIN],
96  authTrustLevel: userAuth.AuthTrustLevel.ATL1,
97};
98const widgetParam :userAuth.WidgetParam = {
99  title: 'Enter password',
100};
101try {
102  let userAuthInstance = userAuth.getUserAuthInstance(authParam, widgetParam);
103  console.log('get userAuth instance success');
104  // The authentication result is returned by onResult only after the authentication is started by start() of UserAuthInstance.
105  userAuthInstance.on('result', {
106    // Since API version 10, the onResult callback of IAuthCallback returns the authentication result.
107    onResult (result) {
108      console.log('userAuthInstance callback result = ' + JSON.stringify(result));
109    }
110  });
111  console.log('auth on success');
112} catch (error) {
113  console.error('auth catch error: ' + JSON.stringify(error));
114}
115```
116
117For more information, see [User Authentication](../../../application-dev/reference/apis-user-authentication-kit/js-apis-useriam-userauth.md) and [Facial Authentication](../../../application-dev/reference/apis-user-authentication-kit/js-apis-useriam-faceauth-sys.md).
118