161847f8eSopenharmony_ci/* 261847f8eSopenharmony_ci * Copyright (c) 2023 Huawei Device Co., Ltd. 361847f8eSopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 461847f8eSopenharmony_ci * you may not use this file except in compliance with the License. 561847f8eSopenharmony_ci * You may obtain a copy of the License at 661847f8eSopenharmony_ci * 761847f8eSopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 861847f8eSopenharmony_ci * 961847f8eSopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1061847f8eSopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1161847f8eSopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1261847f8eSopenharmony_ci * See the License for the specific language governing permissions and 1361847f8eSopenharmony_ci * limitations under the License. 1461847f8eSopenharmony_ci */ 1561847f8eSopenharmony_ci 1661847f8eSopenharmony_ci/** 1761847f8eSopenharmony_ci * @file 1861847f8eSopenharmony_ci * @kit UserAuthenticationKit 1961847f8eSopenharmony_ci */ 2061847f8eSopenharmony_ci 2161847f8eSopenharmony_ciimport type { AsyncCallback } from './@ohos.base'; 2261847f8eSopenharmony_ci 2361847f8eSopenharmony_ci/** 2461847f8eSopenharmony_ci * User authentication 2561847f8eSopenharmony_ci * 2661847f8eSopenharmony_ci * @namespace userAuth 2761847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 2861847f8eSopenharmony_ci * @since 6 2961847f8eSopenharmony_ci */ 3061847f8eSopenharmony_ci/** 3161847f8eSopenharmony_ci * User authentication 3261847f8eSopenharmony_ci * 3361847f8eSopenharmony_ci * @namespace userAuth 3461847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 3561847f8eSopenharmony_ci * @atomicservice 3661847f8eSopenharmony_ci * @since 12 3761847f8eSopenharmony_ci */ 3861847f8eSopenharmony_cideclare namespace userAuth { 3961847f8eSopenharmony_ci /** 4061847f8eSopenharmony_ci * The maximum allowable reuse duration is 300000 milliseconds. 4161847f8eSopenharmony_ci * 4261847f8eSopenharmony_ci * @constant 4361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 4461847f8eSopenharmony_ci * @atomicservice 4561847f8eSopenharmony_ci * @since 12 4661847f8eSopenharmony_ci */ 4761847f8eSopenharmony_ci const MAX_ALLOWABLE_REUSE_DURATION: 300000; 4861847f8eSopenharmony_ci 4961847f8eSopenharmony_ci /** 5061847f8eSopenharmony_ci * Enum for authentication result. 5161847f8eSopenharmony_ci * 5261847f8eSopenharmony_ci * @enum { number } 5361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 5461847f8eSopenharmony_ci * @since 6 5561847f8eSopenharmony_ci * @deprecated since 8 5661847f8eSopenharmony_ci * @useinstead ohos.userIAM.userAuth.ResultCode 5761847f8eSopenharmony_ci */ 5861847f8eSopenharmony_ci export enum AuthenticationResult { 5961847f8eSopenharmony_ci /** 6061847f8eSopenharmony_ci * Indicates that the device does not support authentication. 6161847f8eSopenharmony_ci * 6261847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 6361847f8eSopenharmony_ci * @since 6 6461847f8eSopenharmony_ci * @deprecated since 8 6561847f8eSopenharmony_ci */ 6661847f8eSopenharmony_ci NO_SUPPORT = -1, 6761847f8eSopenharmony_ci 6861847f8eSopenharmony_ci /** 6961847f8eSopenharmony_ci * Indicates that authentication is success. 7061847f8eSopenharmony_ci * 7161847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 7261847f8eSopenharmony_ci * @since 6 7361847f8eSopenharmony_ci * @deprecated since 8 7461847f8eSopenharmony_ci */ 7561847f8eSopenharmony_ci SUCCESS = 0, 7661847f8eSopenharmony_ci 7761847f8eSopenharmony_ci /** 7861847f8eSopenharmony_ci * Indicates the authenticator fails to identify user. 7961847f8eSopenharmony_ci * 8061847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 8161847f8eSopenharmony_ci * @since 6 8261847f8eSopenharmony_ci * @deprecated since 8 8361847f8eSopenharmony_ci */ 8461847f8eSopenharmony_ci COMPARE_FAILURE = 1, 8561847f8eSopenharmony_ci 8661847f8eSopenharmony_ci /** 8761847f8eSopenharmony_ci * Indicates that authentication has been canceled. 8861847f8eSopenharmony_ci * 8961847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 9061847f8eSopenharmony_ci * @since 6 9161847f8eSopenharmony_ci * @deprecated since 8 9261847f8eSopenharmony_ci */ 9361847f8eSopenharmony_ci CANCELED = 2, 9461847f8eSopenharmony_ci 9561847f8eSopenharmony_ci /** 9661847f8eSopenharmony_ci * Indicates that authentication has timed out. 9761847f8eSopenharmony_ci * 9861847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 9961847f8eSopenharmony_ci * @since 6 10061847f8eSopenharmony_ci * @deprecated since 8 10161847f8eSopenharmony_ci */ 10261847f8eSopenharmony_ci TIMEOUT = 3, 10361847f8eSopenharmony_ci 10461847f8eSopenharmony_ci /** 10561847f8eSopenharmony_ci * Indicates a failure to open the camera. 10661847f8eSopenharmony_ci * 10761847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 10861847f8eSopenharmony_ci * @since 6 10961847f8eSopenharmony_ci * @deprecated since 8 11061847f8eSopenharmony_ci */ 11161847f8eSopenharmony_ci CAMERA_FAIL = 4, 11261847f8eSopenharmony_ci 11361847f8eSopenharmony_ci /** 11461847f8eSopenharmony_ci * Indicates that the authentication task is busy. Wait for a few seconds and try again. 11561847f8eSopenharmony_ci * 11661847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 11761847f8eSopenharmony_ci * @since 6 11861847f8eSopenharmony_ci * @deprecated since 8 11961847f8eSopenharmony_ci */ 12061847f8eSopenharmony_ci BUSY = 5, 12161847f8eSopenharmony_ci 12261847f8eSopenharmony_ci /** 12361847f8eSopenharmony_ci * Indicates incorrect parameters. 12461847f8eSopenharmony_ci * 12561847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 12661847f8eSopenharmony_ci * @since 6 12761847f8eSopenharmony_ci * @deprecated since 8 12861847f8eSopenharmony_ci */ 12961847f8eSopenharmony_ci INVALID_PARAMETERS = 6, 13061847f8eSopenharmony_ci 13161847f8eSopenharmony_ci /** 13261847f8eSopenharmony_ci * Indicates that the authenticator is locked. 13361847f8eSopenharmony_ci * 13461847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 13561847f8eSopenharmony_ci * @since 6 13661847f8eSopenharmony_ci * @deprecated since 8 13761847f8eSopenharmony_ci */ 13861847f8eSopenharmony_ci LOCKED = 7, 13961847f8eSopenharmony_ci 14061847f8eSopenharmony_ci /** 14161847f8eSopenharmony_ci * Indicates that the user has not enrolled the authenticator. 14261847f8eSopenharmony_ci * 14361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 14461847f8eSopenharmony_ci * @since 6 14561847f8eSopenharmony_ci * @deprecated since 8 14661847f8eSopenharmony_ci */ 14761847f8eSopenharmony_ci NOT_ENROLLED = 8, 14861847f8eSopenharmony_ci 14961847f8eSopenharmony_ci /** 15061847f8eSopenharmony_ci * Indicates other errors. 15161847f8eSopenharmony_ci * 15261847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 15361847f8eSopenharmony_ci * @since 6 15461847f8eSopenharmony_ci * @deprecated since 8 15561847f8eSopenharmony_ci */ 15661847f8eSopenharmony_ci GENERAL_ERROR = 100 15761847f8eSopenharmony_ci } 15861847f8eSopenharmony_ci 15961847f8eSopenharmony_ci /** 16061847f8eSopenharmony_ci * Auth types 16161847f8eSopenharmony_ci * 16261847f8eSopenharmony_ci * @typedef { 'ALL' | 'FACE_ONLY' } 16361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 16461847f8eSopenharmony_ci * @since 6 16561847f8eSopenharmony_ci * @deprecated since 8 16661847f8eSopenharmony_ci */ 16761847f8eSopenharmony_ci type AuthType = 'ALL' | 'FACE_ONLY'; 16861847f8eSopenharmony_ci 16961847f8eSopenharmony_ci /** 17061847f8eSopenharmony_ci * Secure levels 17161847f8eSopenharmony_ci * 17261847f8eSopenharmony_ci * @typedef { 'S1' | 'S2' | 'S3' | 'S4' } 17361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 17461847f8eSopenharmony_ci * @since 6 17561847f8eSopenharmony_ci * @deprecated since 8 17661847f8eSopenharmony_ci */ 17761847f8eSopenharmony_ci type SecureLevel = 'S1' | 'S2' | 'S3' | 'S4'; 17861847f8eSopenharmony_ci 17961847f8eSopenharmony_ci /** 18061847f8eSopenharmony_ci * Used to initiate authentication. 18161847f8eSopenharmony_ci * 18261847f8eSopenharmony_ci * @interface Authenticator 18361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 18461847f8eSopenharmony_ci * @since 6 18561847f8eSopenharmony_ci * @deprecated since 8 18661847f8eSopenharmony_ci */ 18761847f8eSopenharmony_ci interface Authenticator { 18861847f8eSopenharmony_ci /** 18961847f8eSopenharmony_ci * Execute authentication. 19061847f8eSopenharmony_ci * 19161847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_BIOMETRIC 19261847f8eSopenharmony_ci * @param { AuthType } type - Indicates the authentication type. 19361847f8eSopenharmony_ci * @param { SecureLevel } level - Indicates the security level. 19461847f8eSopenharmony_ci * @param { AsyncCallback<number> } callback - Async callback of execute. 19561847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 19661847f8eSopenharmony_ci * @since 6 19761847f8eSopenharmony_ci * @deprecated since 8 19861847f8eSopenharmony_ci */ 19961847f8eSopenharmony_ci execute(type: AuthType, level: SecureLevel, callback: AsyncCallback<number>): void; 20061847f8eSopenharmony_ci 20161847f8eSopenharmony_ci /** 20261847f8eSopenharmony_ci * Execute authentication. 20361847f8eSopenharmony_ci * 20461847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_BIOMETRIC 20561847f8eSopenharmony_ci * @param { AuthType } type - Indicates the authentication type. 20661847f8eSopenharmony_ci * @param { SecureLevel } level - Indicates the security level. 20761847f8eSopenharmony_ci * @returns { Promise<number> } 20861847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 20961847f8eSopenharmony_ci * @since 6 21061847f8eSopenharmony_ci * @deprecated since 8 21161847f8eSopenharmony_ci */ 21261847f8eSopenharmony_ci execute(type: AuthType, level: SecureLevel): Promise<number>; 21361847f8eSopenharmony_ci } 21461847f8eSopenharmony_ci 21561847f8eSopenharmony_ci /** 21661847f8eSopenharmony_ci * Get Authenticator instance. 21761847f8eSopenharmony_ci * 21861847f8eSopenharmony_ci * @returns { Authenticator } Returns an Authenticator. 21961847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 22061847f8eSopenharmony_ci * @since 6 22161847f8eSopenharmony_ci * @deprecated since 8 22261847f8eSopenharmony_ci */ 22361847f8eSopenharmony_ci function getAuthenticator(): Authenticator; 22461847f8eSopenharmony_ci 22561847f8eSopenharmony_ci /** 22661847f8eSopenharmony_ci * User authentication. 22761847f8eSopenharmony_ci * 22861847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 22961847f8eSopenharmony_ci * @since 8 23061847f8eSopenharmony_ci * @deprecated since 9 23161847f8eSopenharmony_ci * @useinstead ohos.userIAM.userAuth.AuthInstance 23261847f8eSopenharmony_ci */ 23361847f8eSopenharmony_ci class UserAuth { 23461847f8eSopenharmony_ci /** 23561847f8eSopenharmony_ci * Constructor to get the UserAuth class instance. 23661847f8eSopenharmony_ci * 23761847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 23861847f8eSopenharmony_ci * @since 8 23961847f8eSopenharmony_ci * @deprecated since 9 24061847f8eSopenharmony_ci * @useinstead ohos.userIAM.userAuth.getAuthInstance 24161847f8eSopenharmony_ci */ 24261847f8eSopenharmony_ci constructor(); 24361847f8eSopenharmony_ci 24461847f8eSopenharmony_ci /** 24561847f8eSopenharmony_ci * Get version information. 24661847f8eSopenharmony_ci * 24761847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_BIOMETRIC 24861847f8eSopenharmony_ci * @returns { number } Returns version information. 24961847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 25061847f8eSopenharmony_ci * @since 8 25161847f8eSopenharmony_ci * @deprecated since 9 25261847f8eSopenharmony_ci * @useinstead ohos.userIAM.userAuth.getVersion 25361847f8eSopenharmony_ci */ 25461847f8eSopenharmony_ci getVersion(): number; 25561847f8eSopenharmony_ci 25661847f8eSopenharmony_ci /** 25761847f8eSopenharmony_ci * Check whether the authentication capability is available. 25861847f8eSopenharmony_ci * 25961847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_BIOMETRIC 26061847f8eSopenharmony_ci * @param { UserAuthType } authType - Credential type for authentication. 26161847f8eSopenharmony_ci * @param { AuthTrustLevel } authTrustLevel - Trust level of authentication result. 26261847f8eSopenharmony_ci * @returns { number } Returns a check result, which is specified by getAvailableStatus, the value of number is related to the ResultCode enum, **201** is 26361847f8eSopenharmony_ci * check permission failed. 26461847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 26561847f8eSopenharmony_ci * @since 8 26661847f8eSopenharmony_ci * @deprecated since 9 26761847f8eSopenharmony_ci * @useinstead ohos.userIAM.userAuth.getAvailableStatus 26861847f8eSopenharmony_ci */ 26961847f8eSopenharmony_ci getAvailableStatus(authType: UserAuthType, authTrustLevel: AuthTrustLevel): number; 27061847f8eSopenharmony_ci 27161847f8eSopenharmony_ci /** 27261847f8eSopenharmony_ci * Executes authentication. 27361847f8eSopenharmony_ci * 27461847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_BIOMETRIC 27561847f8eSopenharmony_ci * @param { Uint8Array } challenge - Pass in challenge value. 27661847f8eSopenharmony_ci * @param { UserAuthType } authType - Type of authentication. 27761847f8eSopenharmony_ci * @param { AuthTrustLevel } authTrustLevel - Trust level of authentication result. 27861847f8eSopenharmony_ci * @param { IUserAuthCallback } callback - Return result and acquireInfo through callback, the value of result code is related to the ResultCode enum, 27961847f8eSopenharmony_ci * **201** is check permission failed. 28061847f8eSopenharmony_ci * @returns { Uint8Array } Returns ContextId for cancel. 28161847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 28261847f8eSopenharmony_ci * @since 8 28361847f8eSopenharmony_ci * @deprecated since 9 28461847f8eSopenharmony_ci * @useinstead ohos.userIAM.userAuth.AuthInstance.start 28561847f8eSopenharmony_ci */ 28661847f8eSopenharmony_ci auth( 28761847f8eSopenharmony_ci challenge: Uint8Array, 28861847f8eSopenharmony_ci authType: UserAuthType, 28961847f8eSopenharmony_ci authTrustLevel: AuthTrustLevel, 29061847f8eSopenharmony_ci callback: IUserAuthCallback 29161847f8eSopenharmony_ci ): Uint8Array; 29261847f8eSopenharmony_ci 29361847f8eSopenharmony_ci /** 29461847f8eSopenharmony_ci * Cancel authentication with ContextID. 29561847f8eSopenharmony_ci * 29661847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_BIOMETRIC 29761847f8eSopenharmony_ci * @param { Uint8Array } contextID - Cancel authentication and pass in ContextID. 29861847f8eSopenharmony_ci * @returns { number } Returns a number value indicating whether Cancel authentication was successful, the value of number is related to the ResultCode 29961847f8eSopenharmony_ci * enum, **201** is check permission failed. 30061847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 30161847f8eSopenharmony_ci * @since 8 30261847f8eSopenharmony_ci * @deprecated since 9 30361847f8eSopenharmony_ci * @useinstead ohos.userIAM.userAuth.AuthInstance.cancel 30461847f8eSopenharmony_ci */ 30561847f8eSopenharmony_ci cancelAuth(contextID: Uint8Array): number; 30661847f8eSopenharmony_ci } 30761847f8eSopenharmony_ci 30861847f8eSopenharmony_ci /** 30961847f8eSopenharmony_ci * Asynchronous callback of authentication operation. 31061847f8eSopenharmony_ci * 31161847f8eSopenharmony_ci * @interface IUserAuthCallback 31261847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 31361847f8eSopenharmony_ci * @since 8 31461847f8eSopenharmony_ci * @deprecated since 9 31561847f8eSopenharmony_ci * @useinstead ohos.userIAM.userAuth.AuthEvent 31661847f8eSopenharmony_ci */ 31761847f8eSopenharmony_ci interface IUserAuthCallback { 31861847f8eSopenharmony_ci /** 31961847f8eSopenharmony_ci * The authentication result code is returned through the callback. 32061847f8eSopenharmony_ci * If the authentication is passed, the authentication token is returned in extraInfo, 32161847f8eSopenharmony_ci * If the authentication fails, the remaining authentication times are returned in extraInfo, 32261847f8eSopenharmony_ci * If the authentication executor is locked, the freezing time is returned in extraInfo. 32361847f8eSopenharmony_ci * 32461847f8eSopenharmony_ci * @type { function } 32561847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 32661847f8eSopenharmony_ci * @since 8 32761847f8eSopenharmony_ci * @deprecated since 9 32861847f8eSopenharmony_ci * @useinstead ohos.userIAM.userAuth.AuthEvent.callback 32961847f8eSopenharmony_ci */ 33061847f8eSopenharmony_ci onResult: (result: number, extraInfo: AuthResult) => void; 33161847f8eSopenharmony_ci 33261847f8eSopenharmony_ci /** 33361847f8eSopenharmony_ci * During an authentication, the TipsCode is returned through the callback. 33461847f8eSopenharmony_ci * 33561847f8eSopenharmony_ci * @type { ?function } 33661847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 33761847f8eSopenharmony_ci * @since 8 33861847f8eSopenharmony_ci * @deprecated since 9 33961847f8eSopenharmony_ci * @useinstead ohos.userIAM.userAuth.AuthEvent.callback 34061847f8eSopenharmony_ci */ 34161847f8eSopenharmony_ci onAcquireInfo?: (module: number, acquire: number, extraInfo: any) => void; 34261847f8eSopenharmony_ci } 34361847f8eSopenharmony_ci 34461847f8eSopenharmony_ci /** 34561847f8eSopenharmony_ci * Authentication result: authentication token, remaining authentication times, freezing time. 34661847f8eSopenharmony_ci * 34761847f8eSopenharmony_ci * @typedef AuthResult 34861847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 34961847f8eSopenharmony_ci * @since 8 35061847f8eSopenharmony_ci * @deprecated since 9 35161847f8eSopenharmony_ci * @useinstead ohos.userIAM.userAuth.AuthResultInfo 35261847f8eSopenharmony_ci */ 35361847f8eSopenharmony_ci interface AuthResult { 35461847f8eSopenharmony_ci /** 35561847f8eSopenharmony_ci * The authentication result if the authentication is passed. 35661847f8eSopenharmony_ci * 35761847f8eSopenharmony_ci * @type { ?Uint8Array } 35861847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 35961847f8eSopenharmony_ci * @since 8 36061847f8eSopenharmony_ci * @deprecated since 9 36161847f8eSopenharmony_ci */ 36261847f8eSopenharmony_ci token?: Uint8Array; 36361847f8eSopenharmony_ci 36461847f8eSopenharmony_ci /** 36561847f8eSopenharmony_ci * The remaining authentication times if the authentication fails. 36661847f8eSopenharmony_ci * 36761847f8eSopenharmony_ci * @type { ?number } 36861847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 36961847f8eSopenharmony_ci * @since 8 37061847f8eSopenharmony_ci * @deprecated since 9 37161847f8eSopenharmony_ci */ 37261847f8eSopenharmony_ci remainTimes?: number; 37361847f8eSopenharmony_ci 37461847f8eSopenharmony_ci /** 37561847f8eSopenharmony_ci * The freezing time if the authentication executor is locked. 37661847f8eSopenharmony_ci * 37761847f8eSopenharmony_ci * @type { ?number } 37861847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 37961847f8eSopenharmony_ci * @since 8 38061847f8eSopenharmony_ci * @deprecated since 9 38161847f8eSopenharmony_ci */ 38261847f8eSopenharmony_ci freezingTime?: number; 38361847f8eSopenharmony_ci } 38461847f8eSopenharmony_ci 38561847f8eSopenharmony_ci /** 38661847f8eSopenharmony_ci * Enum for operation result. 38761847f8eSopenharmony_ci * 38861847f8eSopenharmony_ci * @enum { number } 38961847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 39061847f8eSopenharmony_ci * @since 8 39161847f8eSopenharmony_ci * @deprecated since 9 39261847f8eSopenharmony_ci * @useinstead ohos.userIAM.userAuth.UserAuthResultCode 39361847f8eSopenharmony_ci */ 39461847f8eSopenharmony_ci enum ResultCode { 39561847f8eSopenharmony_ci /** 39661847f8eSopenharmony_ci * Indicates that the result is success or ability is supported. 39761847f8eSopenharmony_ci * 39861847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 39961847f8eSopenharmony_ci * @since 8 40061847f8eSopenharmony_ci * @deprecated since 9 40161847f8eSopenharmony_ci */ 40261847f8eSopenharmony_ci SUCCESS = 0, 40361847f8eSopenharmony_ci 40461847f8eSopenharmony_ci /** 40561847f8eSopenharmony_ci * Indicates that authentication failed. 40661847f8eSopenharmony_ci * 40761847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 40861847f8eSopenharmony_ci * @since 8 40961847f8eSopenharmony_ci * @deprecated since 9 41061847f8eSopenharmony_ci */ 41161847f8eSopenharmony_ci FAIL = 1, 41261847f8eSopenharmony_ci 41361847f8eSopenharmony_ci /** 41461847f8eSopenharmony_ci * Indicates other errors. 41561847f8eSopenharmony_ci * 41661847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 41761847f8eSopenharmony_ci * @since 8 41861847f8eSopenharmony_ci * @deprecated since 9 41961847f8eSopenharmony_ci */ 42061847f8eSopenharmony_ci GENERAL_ERROR = 2, 42161847f8eSopenharmony_ci 42261847f8eSopenharmony_ci /** 42361847f8eSopenharmony_ci * Indicates that this operation has been canceled. 42461847f8eSopenharmony_ci * 42561847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 42661847f8eSopenharmony_ci * @since 8 42761847f8eSopenharmony_ci * @deprecated since 9 42861847f8eSopenharmony_ci */ 42961847f8eSopenharmony_ci CANCELED = 3, 43061847f8eSopenharmony_ci 43161847f8eSopenharmony_ci /** 43261847f8eSopenharmony_ci * Indicates that this operation has timed out. 43361847f8eSopenharmony_ci * 43461847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 43561847f8eSopenharmony_ci * @since 8 43661847f8eSopenharmony_ci * @deprecated since 9 43761847f8eSopenharmony_ci */ 43861847f8eSopenharmony_ci TIMEOUT = 4, 43961847f8eSopenharmony_ci 44061847f8eSopenharmony_ci /** 44161847f8eSopenharmony_ci * Indicates that this authentication type is not supported. 44261847f8eSopenharmony_ci * 44361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 44461847f8eSopenharmony_ci * @since 8 44561847f8eSopenharmony_ci * @deprecated since 9 44661847f8eSopenharmony_ci */ 44761847f8eSopenharmony_ci TYPE_NOT_SUPPORT = 5, 44861847f8eSopenharmony_ci 44961847f8eSopenharmony_ci /** 45061847f8eSopenharmony_ci * Indicates that the authentication trust level is not supported. 45161847f8eSopenharmony_ci * 45261847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 45361847f8eSopenharmony_ci * @since 8 45461847f8eSopenharmony_ci * @deprecated since 9 45561847f8eSopenharmony_ci */ 45661847f8eSopenharmony_ci TRUST_LEVEL_NOT_SUPPORT = 6, 45761847f8eSopenharmony_ci 45861847f8eSopenharmony_ci /** 45961847f8eSopenharmony_ci * Indicates that the authentication task is busy. Wait for a few seconds and try again. 46061847f8eSopenharmony_ci * 46161847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 46261847f8eSopenharmony_ci * @since 8 46361847f8eSopenharmony_ci * @deprecated since 9 46461847f8eSopenharmony_ci */ 46561847f8eSopenharmony_ci BUSY = 7, 46661847f8eSopenharmony_ci 46761847f8eSopenharmony_ci /** 46861847f8eSopenharmony_ci * Indicates incorrect parameters. 46961847f8eSopenharmony_ci * 47061847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 47161847f8eSopenharmony_ci * @since 8 47261847f8eSopenharmony_ci * @deprecated since 9 47361847f8eSopenharmony_ci */ 47461847f8eSopenharmony_ci INVALID_PARAMETERS = 8, 47561847f8eSopenharmony_ci 47661847f8eSopenharmony_ci /** 47761847f8eSopenharmony_ci * Indicates that the authenticator is locked. 47861847f8eSopenharmony_ci * 47961847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 48061847f8eSopenharmony_ci * @since 8 48161847f8eSopenharmony_ci * @deprecated since 9 48261847f8eSopenharmony_ci */ 48361847f8eSopenharmony_ci LOCKED = 9, 48461847f8eSopenharmony_ci 48561847f8eSopenharmony_ci /** 48661847f8eSopenharmony_ci * Indicates that the user has not enrolled the authenticator. 48761847f8eSopenharmony_ci * 48861847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 48961847f8eSopenharmony_ci * @since 8 49061847f8eSopenharmony_ci * @deprecated since 9 49161847f8eSopenharmony_ci */ 49261847f8eSopenharmony_ci NOT_ENROLLED = 10 49361847f8eSopenharmony_ci } 49461847f8eSopenharmony_ci 49561847f8eSopenharmony_ci /** 49661847f8eSopenharmony_ci * The enumeration of prompt codes in the process of face authentication. 49761847f8eSopenharmony_ci * 49861847f8eSopenharmony_ci * @enum { number } 49961847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 50061847f8eSopenharmony_ci * @since 8 50161847f8eSopenharmony_ci * @deprecated since 11 50261847f8eSopenharmony_ci */ 50361847f8eSopenharmony_ci enum FaceTips { 50461847f8eSopenharmony_ci /** 50561847f8eSopenharmony_ci * Indicates that the obtained facial image is too bright due to high illumination. 50661847f8eSopenharmony_ci * 50761847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 50861847f8eSopenharmony_ci * @since 8 50961847f8eSopenharmony_ci * @deprecated since 11 51061847f8eSopenharmony_ci */ 51161847f8eSopenharmony_ci FACE_AUTH_TIP_TOO_BRIGHT = 1, 51261847f8eSopenharmony_ci 51361847f8eSopenharmony_ci /** 51461847f8eSopenharmony_ci * Indicates that the obtained facial image is too dark due to low illumination. 51561847f8eSopenharmony_ci * 51661847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 51761847f8eSopenharmony_ci * @since 8 51861847f8eSopenharmony_ci * @deprecated since 11 51961847f8eSopenharmony_ci */ 52061847f8eSopenharmony_ci FACE_AUTH_TIP_TOO_DARK = 2, 52161847f8eSopenharmony_ci 52261847f8eSopenharmony_ci /** 52361847f8eSopenharmony_ci * Indicates that the face is too close to the device. 52461847f8eSopenharmony_ci * 52561847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 52661847f8eSopenharmony_ci * @since 8 52761847f8eSopenharmony_ci * @deprecated since 11 52861847f8eSopenharmony_ci */ 52961847f8eSopenharmony_ci FACE_AUTH_TIP_TOO_CLOSE = 3, 53061847f8eSopenharmony_ci 53161847f8eSopenharmony_ci /** 53261847f8eSopenharmony_ci * Indicates that the face is too far away from the device. 53361847f8eSopenharmony_ci * 53461847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 53561847f8eSopenharmony_ci * @since 8 53661847f8eSopenharmony_ci * @deprecated since 11 53761847f8eSopenharmony_ci */ 53861847f8eSopenharmony_ci FACE_AUTH_TIP_TOO_FAR = 4, 53961847f8eSopenharmony_ci 54061847f8eSopenharmony_ci /** 54161847f8eSopenharmony_ci * Indicates that the device is too high, and that only the upper part of the face is captured. 54261847f8eSopenharmony_ci * 54361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 54461847f8eSopenharmony_ci * @since 8 54561847f8eSopenharmony_ci * @deprecated since 11 54661847f8eSopenharmony_ci */ 54761847f8eSopenharmony_ci FACE_AUTH_TIP_TOO_HIGH = 5, 54861847f8eSopenharmony_ci 54961847f8eSopenharmony_ci /** 55061847f8eSopenharmony_ci * Indicates that the device is too low, and that only the lower part of the face is captured. 55161847f8eSopenharmony_ci * 55261847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 55361847f8eSopenharmony_ci * @since 8 55461847f8eSopenharmony_ci * @deprecated since 11 55561847f8eSopenharmony_ci */ 55661847f8eSopenharmony_ci FACE_AUTH_TIP_TOO_LOW = 6, 55761847f8eSopenharmony_ci 55861847f8eSopenharmony_ci /** 55961847f8eSopenharmony_ci * Indicates that the device is deviated to the right, and that only the right part of the face is captured. 56061847f8eSopenharmony_ci * 56161847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 56261847f8eSopenharmony_ci * @since 8 56361847f8eSopenharmony_ci * @deprecated since 11 56461847f8eSopenharmony_ci */ 56561847f8eSopenharmony_ci FACE_AUTH_TIP_TOO_RIGHT = 7, 56661847f8eSopenharmony_ci 56761847f8eSopenharmony_ci /** 56861847f8eSopenharmony_ci * Indicates that the device is deviated to the left, and that only the left part of the face is captured. 56961847f8eSopenharmony_ci * 57061847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 57161847f8eSopenharmony_ci * @since 8 57261847f8eSopenharmony_ci * @deprecated since 11 57361847f8eSopenharmony_ci */ 57461847f8eSopenharmony_ci FACE_AUTH_TIP_TOO_LEFT = 8, 57561847f8eSopenharmony_ci 57661847f8eSopenharmony_ci /** 57761847f8eSopenharmony_ci * Indicates that the face moves too fast during facial information collection. 57861847f8eSopenharmony_ci * 57961847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 58061847f8eSopenharmony_ci * @since 8 58161847f8eSopenharmony_ci * @deprecated since 11 58261847f8eSopenharmony_ci */ 58361847f8eSopenharmony_ci FACE_AUTH_TIP_TOO_MUCH_MOTION = 9, 58461847f8eSopenharmony_ci 58561847f8eSopenharmony_ci /** 58661847f8eSopenharmony_ci * Indicates that the face is not facing the device. 58761847f8eSopenharmony_ci * 58861847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 58961847f8eSopenharmony_ci * @since 8 59061847f8eSopenharmony_ci * @deprecated since 11 59161847f8eSopenharmony_ci */ 59261847f8eSopenharmony_ci FACE_AUTH_TIP_POOR_GAZE = 10, 59361847f8eSopenharmony_ci 59461847f8eSopenharmony_ci /** 59561847f8eSopenharmony_ci * Indicates that no face is detected. 59661847f8eSopenharmony_ci * 59761847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 59861847f8eSopenharmony_ci * @since 8 59961847f8eSopenharmony_ci * @deprecated since 11 60061847f8eSopenharmony_ci */ 60161847f8eSopenharmony_ci FACE_AUTH_TIP_NOT_DETECTED = 11 60261847f8eSopenharmony_ci } 60361847f8eSopenharmony_ci 60461847f8eSopenharmony_ci /** 60561847f8eSopenharmony_ci * The enumeration of prompt codes in the process of fingerprint authentication. 60661847f8eSopenharmony_ci * 60761847f8eSopenharmony_ci * @enum { number } 60861847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 60961847f8eSopenharmony_ci * @since 8 61061847f8eSopenharmony_ci * @deprecated since 11 61161847f8eSopenharmony_ci */ 61261847f8eSopenharmony_ci enum FingerprintTips { 61361847f8eSopenharmony_ci /** 61461847f8eSopenharmony_ci * Indicates that the image acquired is good. 61561847f8eSopenharmony_ci * 61661847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 61761847f8eSopenharmony_ci * @since 8 61861847f8eSopenharmony_ci * @deprecated since 11 61961847f8eSopenharmony_ci */ 62061847f8eSopenharmony_ci FINGERPRINT_AUTH_TIP_GOOD = 0, 62161847f8eSopenharmony_ci 62261847f8eSopenharmony_ci /** 62361847f8eSopenharmony_ci * Indicates that the fingerprint image is too noisy due to suspected or detected dirt on sensor. 62461847f8eSopenharmony_ci * 62561847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 62661847f8eSopenharmony_ci * @since 8 62761847f8eSopenharmony_ci * @deprecated since 11 62861847f8eSopenharmony_ci */ 62961847f8eSopenharmony_ci FINGERPRINT_AUTH_TIP_DIRTY = 1, 63061847f8eSopenharmony_ci 63161847f8eSopenharmony_ci /** 63261847f8eSopenharmony_ci * Indicates that the fingerprint image is too noisy to process due to a detected condition. 63361847f8eSopenharmony_ci * 63461847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 63561847f8eSopenharmony_ci * @since 8 63661847f8eSopenharmony_ci * @deprecated since 11 63761847f8eSopenharmony_ci */ 63861847f8eSopenharmony_ci FINGERPRINT_AUTH_TIP_INSUFFICIENT = 2, 63961847f8eSopenharmony_ci 64061847f8eSopenharmony_ci /** 64161847f8eSopenharmony_ci * Indicates that only a partial fingerprint image is detected. 64261847f8eSopenharmony_ci * 64361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 64461847f8eSopenharmony_ci * @since 8 64561847f8eSopenharmony_ci * @deprecated since 11 64661847f8eSopenharmony_ci */ 64761847f8eSopenharmony_ci FINGERPRINT_AUTH_TIP_PARTIAL = 3, 64861847f8eSopenharmony_ci 64961847f8eSopenharmony_ci /** 65061847f8eSopenharmony_ci * Indicates that the fingerprint image is incomplete due to quick motion. 65161847f8eSopenharmony_ci * 65261847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 65361847f8eSopenharmony_ci * @since 8 65461847f8eSopenharmony_ci * @deprecated since 11 65561847f8eSopenharmony_ci */ 65661847f8eSopenharmony_ci FINGERPRINT_AUTH_TIP_TOO_FAST = 4, 65761847f8eSopenharmony_ci 65861847f8eSopenharmony_ci /** 65961847f8eSopenharmony_ci * Indicates that the fingerprint image is unreadable due to lack of motion. 66061847f8eSopenharmony_ci * 66161847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 66261847f8eSopenharmony_ci * @since 8 66361847f8eSopenharmony_ci * @deprecated since 11 66461847f8eSopenharmony_ci */ 66561847f8eSopenharmony_ci FINGERPRINT_AUTH_TIP_TOO_SLOW = 5 66661847f8eSopenharmony_ci } 66761847f8eSopenharmony_ci 66861847f8eSopenharmony_ci /** 66961847f8eSopenharmony_ci * Credential type for authentication. 67061847f8eSopenharmony_ci * 67161847f8eSopenharmony_ci * @enum { number } 67261847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 67361847f8eSopenharmony_ci * @since 8 67461847f8eSopenharmony_ci */ 67561847f8eSopenharmony_ci /** 67661847f8eSopenharmony_ci * Credential type for authentication. 67761847f8eSopenharmony_ci * 67861847f8eSopenharmony_ci * @enum { number } 67961847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 68061847f8eSopenharmony_ci * @atomicservice 68161847f8eSopenharmony_ci * @since 12 68261847f8eSopenharmony_ci */ 68361847f8eSopenharmony_ci enum UserAuthType { 68461847f8eSopenharmony_ci /** 68561847f8eSopenharmony_ci * Authentication type pin. 68661847f8eSopenharmony_ci * 68761847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 68861847f8eSopenharmony_ci * @since 10 68961847f8eSopenharmony_ci */ 69061847f8eSopenharmony_ci /** 69161847f8eSopenharmony_ci * Authentication type pin. 69261847f8eSopenharmony_ci * 69361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 69461847f8eSopenharmony_ci * @atomicservice 69561847f8eSopenharmony_ci * @since 12 69661847f8eSopenharmony_ci */ 69761847f8eSopenharmony_ci PIN = 1, 69861847f8eSopenharmony_ci 69961847f8eSopenharmony_ci /** 70061847f8eSopenharmony_ci * Authentication type face. 70161847f8eSopenharmony_ci * 70261847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 70361847f8eSopenharmony_ci * @since 8 70461847f8eSopenharmony_ci */ 70561847f8eSopenharmony_ci /** 70661847f8eSopenharmony_ci * Authentication type face. 70761847f8eSopenharmony_ci * 70861847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 70961847f8eSopenharmony_ci * @atomicservice 71061847f8eSopenharmony_ci * @since 12 71161847f8eSopenharmony_ci */ 71261847f8eSopenharmony_ci FACE = 2, 71361847f8eSopenharmony_ci 71461847f8eSopenharmony_ci /** 71561847f8eSopenharmony_ci * Authentication type fingerprint. 71661847f8eSopenharmony_ci * 71761847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 71861847f8eSopenharmony_ci * @since 8 71961847f8eSopenharmony_ci */ 72061847f8eSopenharmony_ci /** 72161847f8eSopenharmony_ci * Authentication type fingerprint. 72261847f8eSopenharmony_ci * 72361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 72461847f8eSopenharmony_ci * @atomicservice 72561847f8eSopenharmony_ci * @since 12 72661847f8eSopenharmony_ci */ 72761847f8eSopenharmony_ci FINGERPRINT = 4 72861847f8eSopenharmony_ci } 72961847f8eSopenharmony_ci 73061847f8eSopenharmony_ci /** 73161847f8eSopenharmony_ci * Trust level of authentication results. 73261847f8eSopenharmony_ci * 73361847f8eSopenharmony_ci * @enum { number } 73461847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 73561847f8eSopenharmony_ci * @since 8 73661847f8eSopenharmony_ci */ 73761847f8eSopenharmony_ci /** 73861847f8eSopenharmony_ci * Trust level of authentication results. 73961847f8eSopenharmony_ci * 74061847f8eSopenharmony_ci * @enum { number } 74161847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 74261847f8eSopenharmony_ci * @atomicservice 74361847f8eSopenharmony_ci * @since 12 74461847f8eSopenharmony_ci */ 74561847f8eSopenharmony_ci enum AuthTrustLevel { 74661847f8eSopenharmony_ci /** 74761847f8eSopenharmony_ci * Authentication result trusted level 1. 74861847f8eSopenharmony_ci * 74961847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 75061847f8eSopenharmony_ci * @since 8 75161847f8eSopenharmony_ci */ 75261847f8eSopenharmony_ci /** 75361847f8eSopenharmony_ci * Authentication result trusted level 1. 75461847f8eSopenharmony_ci * 75561847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 75661847f8eSopenharmony_ci * @atomicservice 75761847f8eSopenharmony_ci * @since 12 75861847f8eSopenharmony_ci */ 75961847f8eSopenharmony_ci ATL1 = 10000, 76061847f8eSopenharmony_ci 76161847f8eSopenharmony_ci /** 76261847f8eSopenharmony_ci * Authentication result trusted level 2. 76361847f8eSopenharmony_ci * 76461847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 76561847f8eSopenharmony_ci * @since 8 76661847f8eSopenharmony_ci */ 76761847f8eSopenharmony_ci /** 76861847f8eSopenharmony_ci * Authentication result trusted level 2. 76961847f8eSopenharmony_ci * 77061847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 77161847f8eSopenharmony_ci * @atomicservice 77261847f8eSopenharmony_ci * @since 12 77361847f8eSopenharmony_ci */ 77461847f8eSopenharmony_ci ATL2 = 20000, 77561847f8eSopenharmony_ci 77661847f8eSopenharmony_ci /** 77761847f8eSopenharmony_ci * Authentication result trusted level 3. 77861847f8eSopenharmony_ci * 77961847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 78061847f8eSopenharmony_ci * @since 8 78161847f8eSopenharmony_ci */ 78261847f8eSopenharmony_ci /** 78361847f8eSopenharmony_ci * Authentication result trusted level 3. 78461847f8eSopenharmony_ci * 78561847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 78661847f8eSopenharmony_ci * @atomicservice 78761847f8eSopenharmony_ci * @since 12 78861847f8eSopenharmony_ci */ 78961847f8eSopenharmony_ci ATL3 = 30000, 79061847f8eSopenharmony_ci 79161847f8eSopenharmony_ci /** 79261847f8eSopenharmony_ci * Authentication result trusted level 4. 79361847f8eSopenharmony_ci * 79461847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 79561847f8eSopenharmony_ci * @since 8 79661847f8eSopenharmony_ci */ 79761847f8eSopenharmony_ci /** 79861847f8eSopenharmony_ci * Authentication result trusted level 4. 79961847f8eSopenharmony_ci * 80061847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 80161847f8eSopenharmony_ci * @atomicservice 80261847f8eSopenharmony_ci * @since 12 80361847f8eSopenharmony_ci */ 80461847f8eSopenharmony_ci ATL4 = 40000 80561847f8eSopenharmony_ci } 80661847f8eSopenharmony_ci 80761847f8eSopenharmony_ci /** 80861847f8eSopenharmony_ci * Authentication events. 80961847f8eSopenharmony_ci * 81061847f8eSopenharmony_ci * @typedef { 'result' | 'tip' } 81161847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 81261847f8eSopenharmony_ci * @since 9 81361847f8eSopenharmony_ci * @deprecated since 11 81461847f8eSopenharmony_ci */ 81561847f8eSopenharmony_ci type AuthEventKey = 'result' | 'tip'; 81661847f8eSopenharmony_ci 81761847f8eSopenharmony_ci /** 81861847f8eSopenharmony_ci * Return information of Authentication events. 81961847f8eSopenharmony_ci * 82061847f8eSopenharmony_ci * @typedef { AuthResultInfo | TipInfo } 82161847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 82261847f8eSopenharmony_ci * @since 9 82361847f8eSopenharmony_ci * @deprecated since 11 82461847f8eSopenharmony_ci * @useinstead ohos.userIAM.userAuth.UserAuthResult 82561847f8eSopenharmony_ci */ 82661847f8eSopenharmony_ci type EventInfo = AuthResultInfo | TipInfo; 82761847f8eSopenharmony_ci 82861847f8eSopenharmony_ci /** 82961847f8eSopenharmony_ci * Asynchronous callback of authentication event. 83061847f8eSopenharmony_ci * 83161847f8eSopenharmony_ci * @interface AuthEvent 83261847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 83361847f8eSopenharmony_ci * @since 9 83461847f8eSopenharmony_ci * @deprecated since 11 83561847f8eSopenharmony_ci * @useinstead ohos.userIAM.userAuth.IAuthCallback 83661847f8eSopenharmony_ci */ 83761847f8eSopenharmony_ci interface AuthEvent { 83861847f8eSopenharmony_ci /** 83961847f8eSopenharmony_ci * The authentication event callback. 84061847f8eSopenharmony_ci * 84161847f8eSopenharmony_ci * @param { EventInfo } result - Event info. 84261847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 84361847f8eSopenharmony_ci * @since 9 84461847f8eSopenharmony_ci * @deprecated since 11 84561847f8eSopenharmony_ci * @useinstead ohos.userIAM.userAuth.IAuthCallback.onResult 84661847f8eSopenharmony_ci */ 84761847f8eSopenharmony_ci callback(result: EventInfo): void; 84861847f8eSopenharmony_ci } 84961847f8eSopenharmony_ci 85061847f8eSopenharmony_ci /** 85161847f8eSopenharmony_ci * Authentication result information. 85261847f8eSopenharmony_ci * 85361847f8eSopenharmony_ci * @typedef AuthResultInfo 85461847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 85561847f8eSopenharmony_ci * @since 9 85661847f8eSopenharmony_ci * @deprecated since 11 85761847f8eSopenharmony_ci */ 85861847f8eSopenharmony_ci interface AuthResultInfo { 85961847f8eSopenharmony_ci /** 86061847f8eSopenharmony_ci * The authentication result. 86161847f8eSopenharmony_ci * 86261847f8eSopenharmony_ci * @type { number } 86361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 86461847f8eSopenharmony_ci * @since 9 86561847f8eSopenharmony_ci * @deprecated since 11 86661847f8eSopenharmony_ci */ 86761847f8eSopenharmony_ci result: number; 86861847f8eSopenharmony_ci 86961847f8eSopenharmony_ci /** 87061847f8eSopenharmony_ci * The authentication token if the authentication is passed. 87161847f8eSopenharmony_ci * 87261847f8eSopenharmony_ci * @type { ?Uint8Array } 87361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 87461847f8eSopenharmony_ci * @since 9 87561847f8eSopenharmony_ci * @deprecated since 11 87661847f8eSopenharmony_ci */ 87761847f8eSopenharmony_ci token?: Uint8Array; 87861847f8eSopenharmony_ci 87961847f8eSopenharmony_ci /** 88061847f8eSopenharmony_ci * The remaining authentication attempts if the authentication fails. 88161847f8eSopenharmony_ci * 88261847f8eSopenharmony_ci * @type { ?number } 88361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 88461847f8eSopenharmony_ci * @since 9 88561847f8eSopenharmony_ci * @deprecated since 11 88661847f8eSopenharmony_ci */ 88761847f8eSopenharmony_ci remainAttempts?: number; 88861847f8eSopenharmony_ci 88961847f8eSopenharmony_ci /** 89061847f8eSopenharmony_ci * The lockout duration if the authentication executor is locked. 89161847f8eSopenharmony_ci * 89261847f8eSopenharmony_ci * @type { ?number } 89361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 89461847f8eSopenharmony_ci * @since 9 89561847f8eSopenharmony_ci * @deprecated since 11 89661847f8eSopenharmony_ci */ 89761847f8eSopenharmony_ci lockoutDuration?: number; 89861847f8eSopenharmony_ci } 89961847f8eSopenharmony_ci 90061847f8eSopenharmony_ci /** 90161847f8eSopenharmony_ci * Authentication tip info. 90261847f8eSopenharmony_ci * 90361847f8eSopenharmony_ci * @typedef TipInfo 90461847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 90561847f8eSopenharmony_ci * @since 9 90661847f8eSopenharmony_ci * @deprecated since 11 90761847f8eSopenharmony_ci */ 90861847f8eSopenharmony_ci interface TipInfo { 90961847f8eSopenharmony_ci /** 91061847f8eSopenharmony_ci * The authentication module of sending tip information. 91161847f8eSopenharmony_ci * 91261847f8eSopenharmony_ci * @type { number } 91361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 91461847f8eSopenharmony_ci * @since 9 91561847f8eSopenharmony_ci * @deprecated since 11 91661847f8eSopenharmony_ci */ 91761847f8eSopenharmony_ci module: number; 91861847f8eSopenharmony_ci 91961847f8eSopenharmony_ci /** 92061847f8eSopenharmony_ci * Tip information, used to prompt the business to perform some operations. 92161847f8eSopenharmony_ci * 92261847f8eSopenharmony_ci * @type { number } 92361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 92461847f8eSopenharmony_ci * @since 9 92561847f8eSopenharmony_ci * @deprecated since 11 92661847f8eSopenharmony_ci */ 92761847f8eSopenharmony_ci tip: number; 92861847f8eSopenharmony_ci } 92961847f8eSopenharmony_ci 93061847f8eSopenharmony_ci /** 93161847f8eSopenharmony_ci * Authentication instance, used to initiate a complete authentication. 93261847f8eSopenharmony_ci * 93361847f8eSopenharmony_ci * @interface AuthInstance 93461847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 93561847f8eSopenharmony_ci * @since 9 93661847f8eSopenharmony_ci * @deprecated since 10 93761847f8eSopenharmony_ci * @useinstead ohos.userIAM.userAuth.UserAuthInstance 93861847f8eSopenharmony_ci */ 93961847f8eSopenharmony_ci interface AuthInstance { 94061847f8eSopenharmony_ci /** 94161847f8eSopenharmony_ci * Turn on authentication event listening. 94261847f8eSopenharmony_ci * 94361847f8eSopenharmony_ci * @throws { BusinessError } 401 - Incorrect parameters. 94461847f8eSopenharmony_ci * @throws { BusinessError } 12500002 - General operation error. 94561847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 94661847f8eSopenharmony_ci * @since 9 94761847f8eSopenharmony_ci * @deprecated since 10 94861847f8eSopenharmony_ci */ 94961847f8eSopenharmony_ci on: (name: AuthEventKey, callback: AuthEvent) => void; 95061847f8eSopenharmony_ci 95161847f8eSopenharmony_ci /** 95261847f8eSopenharmony_ci * Turn off authentication event listening. 95361847f8eSopenharmony_ci * 95461847f8eSopenharmony_ci * @throws { BusinessError } 401 - Incorrect parameters. 95561847f8eSopenharmony_ci * @throws { BusinessError } 12500002 - General operation error. 95661847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 95761847f8eSopenharmony_ci * @since 9 95861847f8eSopenharmony_ci * @deprecated since 10 95961847f8eSopenharmony_ci */ 96061847f8eSopenharmony_ci off: (name: AuthEventKey) => void; 96161847f8eSopenharmony_ci 96261847f8eSopenharmony_ci /** 96361847f8eSopenharmony_ci * Start this authentication, an instance can only perform authentication once. 96461847f8eSopenharmony_ci * 96561847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_BIOMETRIC 96661847f8eSopenharmony_ci * @type { function } 96761847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. 96861847f8eSopenharmony_ci * @throws { BusinessError } 401 - Incorrect parameters. 96961847f8eSopenharmony_ci * @throws { BusinessError } 12500001 - Authentication failed. 97061847f8eSopenharmony_ci * @throws { BusinessError } 12500002 - General operation error. 97161847f8eSopenharmony_ci * @throws { BusinessError } 12500003 - The operation is canceled. 97261847f8eSopenharmony_ci * @throws { BusinessError } 12500004 - The operation is time-out. 97361847f8eSopenharmony_ci * @throws { BusinessError } 12500005 - The authentication type is not supported. 97461847f8eSopenharmony_ci * @throws { BusinessError } 12500006 - The authentication trust level is not supported. 97561847f8eSopenharmony_ci * @throws { BusinessError } 12500007 - The authentication task is busy. 97661847f8eSopenharmony_ci * @throws { BusinessError } 12500009 - The authenticator is locked. 97761847f8eSopenharmony_ci * @throws { BusinessError } 12500010 - The type of credential has not been enrolled. 97861847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 97961847f8eSopenharmony_ci * @since 9 98061847f8eSopenharmony_ci * @deprecated since 10 98161847f8eSopenharmony_ci */ 98261847f8eSopenharmony_ci start: () => void; 98361847f8eSopenharmony_ci 98461847f8eSopenharmony_ci /** 98561847f8eSopenharmony_ci * Cancel this authentication. 98661847f8eSopenharmony_ci * 98761847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_BIOMETRIC 98861847f8eSopenharmony_ci * @type { function } 98961847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. 99061847f8eSopenharmony_ci * @throws { BusinessError } 401 - Incorrect parameters. 99161847f8eSopenharmony_ci * @throws { BusinessError } 12500002 - General operation error. 99261847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 99361847f8eSopenharmony_ci * @since 9 99461847f8eSopenharmony_ci * @deprecated since 10 99561847f8eSopenharmony_ci */ 99661847f8eSopenharmony_ci cancel: () => void; 99761847f8eSopenharmony_ci } 99861847f8eSopenharmony_ci 99961847f8eSopenharmony_ci /** 100061847f8eSopenharmony_ci * Check whether the authentication capability is available. 100161847f8eSopenharmony_ci * 100261847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_BIOMETRIC 100361847f8eSopenharmony_ci * @param { UserAuthType } authType - Credential type for authentication. 100461847f8eSopenharmony_ci * @param { AuthTrustLevel } authTrustLevel - Trust level of authentication result. 100561847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. 100661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Incorrect parameters. Possible causes: 100761847f8eSopenharmony_ci * <br>1. Mandatory parameters are left unspecified. 100861847f8eSopenharmony_ci * @throws { BusinessError } 12500002 - General operation error. 100961847f8eSopenharmony_ci * @throws { BusinessError } 12500005 - The authentication type is not supported. 101061847f8eSopenharmony_ci * @throws { BusinessError } 12500006 - The authentication trust level is not supported. 101161847f8eSopenharmony_ci * @throws { BusinessError } 12500010 - The type of credential has not been enrolled. 101261847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 101361847f8eSopenharmony_ci * @since 9 101461847f8eSopenharmony_ci */ 101561847f8eSopenharmony_ci /** 101661847f8eSopenharmony_ci * Check whether the authentication capability is available. 101761847f8eSopenharmony_ci * 101861847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_BIOMETRIC 101961847f8eSopenharmony_ci * @param { UserAuthType } authType - Credential type for authentication. 102061847f8eSopenharmony_ci * @param { AuthTrustLevel } authTrustLevel - Trust level of authentication result. 102161847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. 102261847f8eSopenharmony_ci * @throws { BusinessError } 401 - Incorrect parameters. Possible causes: 102361847f8eSopenharmony_ci * <br>1. Mandatory parameters are left unspecified. 102461847f8eSopenharmony_ci * @throws { BusinessError } 12500002 - General operation error. 102561847f8eSopenharmony_ci * @throws { BusinessError } 12500005 - The authentication type is not supported. 102661847f8eSopenharmony_ci * @throws { BusinessError } 12500006 - The authentication trust level is not supported. 102761847f8eSopenharmony_ci * @throws { BusinessError } 12500010 - The type of credential has not been enrolled. 102861847f8eSopenharmony_ci * @throws { BusinessError } 12500013 - Operation failed because of PIN expired. 102961847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 103061847f8eSopenharmony_ci * @atomicservice 103161847f8eSopenharmony_ci * @since 12 103261847f8eSopenharmony_ci */ 103361847f8eSopenharmony_ci function getAvailableStatus(authType: UserAuthType, authTrustLevel: AuthTrustLevel): void; 103461847f8eSopenharmony_ci 103561847f8eSopenharmony_ci /** 103661847f8eSopenharmony_ci * Enrolled state. 103761847f8eSopenharmony_ci * 103861847f8eSopenharmony_ci * @typedef EnrolledState 103961847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 104061847f8eSopenharmony_ci * @atomicservice 104161847f8eSopenharmony_ci * @since 12 104261847f8eSopenharmony_ci */ 104361847f8eSopenharmony_ci interface EnrolledState { 104461847f8eSopenharmony_ci /** 104561847f8eSopenharmony_ci * The credential digest. 104661847f8eSopenharmony_ci * 104761847f8eSopenharmony_ci * @type { number } 104861847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 104961847f8eSopenharmony_ci * @atomicservice 105061847f8eSopenharmony_ci * @since 12 105161847f8eSopenharmony_ci */ 105261847f8eSopenharmony_ci credentialDigest: number; 105361847f8eSopenharmony_ci 105461847f8eSopenharmony_ci /** 105561847f8eSopenharmony_ci * The credential count. 105661847f8eSopenharmony_ci * 105761847f8eSopenharmony_ci * @type { number } 105861847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 105961847f8eSopenharmony_ci * @atomicservice 106061847f8eSopenharmony_ci * @since 12 106161847f8eSopenharmony_ci */ 106261847f8eSopenharmony_ci credentialCount: number; 106361847f8eSopenharmony_ci } 106461847f8eSopenharmony_ci 106561847f8eSopenharmony_ci /** 106661847f8eSopenharmony_ci * Get the state of enrolled credentials which varies as credentials change. 106761847f8eSopenharmony_ci * 106861847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_BIOMETRIC 106961847f8eSopenharmony_ci * @param { UserAuthType } authType - Credential type for authentication. 107061847f8eSopenharmony_ci * @returns { EnrolledState } Returns the enrolled state. 107161847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. 107261847f8eSopenharmony_ci * @throws { BusinessError } 401 - Incorrect parameters. Possible causes: 107361847f8eSopenharmony_ci * <br>1. Mandatory parameters are left unspecified. 107461847f8eSopenharmony_ci * @throws { BusinessError } 12500002 - General operation error. 107561847f8eSopenharmony_ci * @throws { BusinessError } 12500005 - The authentication type is not supported. 107661847f8eSopenharmony_ci * @throws { BusinessError } 12500010 - The type of credential has not been enrolled. 107761847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 107861847f8eSopenharmony_ci * @atomicservice 107961847f8eSopenharmony_ci * @since 12 108061847f8eSopenharmony_ci */ 108161847f8eSopenharmony_ci function getEnrolledState(authType: UserAuthType): EnrolledState; 108261847f8eSopenharmony_ci 108361847f8eSopenharmony_ci /** 108461847f8eSopenharmony_ci * Get Authentication instance. 108561847f8eSopenharmony_ci * 108661847f8eSopenharmony_ci * @param { Uint8Array } challenge - Pass in challenge value. 108761847f8eSopenharmony_ci * @param { UserAuthType } authType - Credential type for authentication. 108861847f8eSopenharmony_ci * @param { AuthTrustLevel } authTrustLevel - Trust level of authentication result. 108961847f8eSopenharmony_ci * @returns { AuthInstance } Returns an authentication instance. 109061847f8eSopenharmony_ci * @throws { BusinessError } 401 - Incorrect parameters. 109161847f8eSopenharmony_ci * @throws { BusinessError } 12500002 - General operation error. 109261847f8eSopenharmony_ci * @throws { BusinessError } 12500005 - The authentication type is not supported. 109361847f8eSopenharmony_ci * @throws { BusinessError } 12500006 - The authentication trust level is not supported. 109461847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 109561847f8eSopenharmony_ci * @since 9 109661847f8eSopenharmony_ci * @deprecated since 10 109761847f8eSopenharmony_ci * @useinstead ohos.userIAM.userAuth.getUserAuthInstance 109861847f8eSopenharmony_ci */ 109961847f8eSopenharmony_ci function getAuthInstance(challenge: Uint8Array, authType: UserAuthType, authTrustLevel: AuthTrustLevel): AuthInstance; 110061847f8eSopenharmony_ci 110161847f8eSopenharmony_ci /** 110261847f8eSopenharmony_ci * Window mode type for user authentication widget. 110361847f8eSopenharmony_ci * 110461847f8eSopenharmony_ci * @enum { number } 110561847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 110661847f8eSopenharmony_ci * @systemapi Hide this for inner system use. 110761847f8eSopenharmony_ci * @since 10 110861847f8eSopenharmony_ci */ 110961847f8eSopenharmony_ci enum WindowModeType { 111061847f8eSopenharmony_ci /** 111161847f8eSopenharmony_ci * Window mode type is dialog box. 111261847f8eSopenharmony_ci * 111361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 111461847f8eSopenharmony_ci * @systemapi Hide this for inner system use. 111561847f8eSopenharmony_ci * @since 10 111661847f8eSopenharmony_ci */ 111761847f8eSopenharmony_ci DIALOG_BOX = 1, 111861847f8eSopenharmony_ci 111961847f8eSopenharmony_ci /** 112061847f8eSopenharmony_ci * Window mode type is full screen. 112161847f8eSopenharmony_ci * 112261847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 112361847f8eSopenharmony_ci * @systemapi Hide this for inner system use. 112461847f8eSopenharmony_ci * @since 10 112561847f8eSopenharmony_ci */ 112661847f8eSopenharmony_ci FULLSCREEN = 2 112761847f8eSopenharmony_ci } 112861847f8eSopenharmony_ci 112961847f8eSopenharmony_ci /** 113061847f8eSopenharmony_ci * The mode for reusing unlock authentication result. 113161847f8eSopenharmony_ci * 113261847f8eSopenharmony_ci * @enum { number } 113361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 113461847f8eSopenharmony_ci * @atomicservice 113561847f8eSopenharmony_ci * @since 12 113661847f8eSopenharmony_ci */ 113761847f8eSopenharmony_ci enum ReuseMode { 113861847f8eSopenharmony_ci /** 113961847f8eSopenharmony_ci * Authentication type relevant.The unlock authentication result can be reused only when the result is within 114061847f8eSopenharmony_ci * valid duration as well as it comes from one of specified UserAuthTypes of the AuthParam. 114161847f8eSopenharmony_ci * 114261847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 114361847f8eSopenharmony_ci * @atomicservice 114461847f8eSopenharmony_ci * @since 12 114561847f8eSopenharmony_ci */ 114661847f8eSopenharmony_ci AUTH_TYPE_RELEVANT = 1, 114761847f8eSopenharmony_ci 114861847f8eSopenharmony_ci /** 114961847f8eSopenharmony_ci * Authentication type irrelevant.The unlock authentication result can be reused as long as the result is within 115061847f8eSopenharmony_ci * valid duration. 115161847f8eSopenharmony_ci * 115261847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 115361847f8eSopenharmony_ci * @atomicservice 115461847f8eSopenharmony_ci * @since 12 115561847f8eSopenharmony_ci */ 115661847f8eSopenharmony_ci AUTH_TYPE_IRRELEVANT = 2 115761847f8eSopenharmony_ci } 115861847f8eSopenharmony_ci 115961847f8eSopenharmony_ci /** 116061847f8eSopenharmony_ci * Reuse unlock authentication result. 116161847f8eSopenharmony_ci * 116261847f8eSopenharmony_ci * @typedef ReuseUnlockResult 116361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 116461847f8eSopenharmony_ci * @atomicservice 116561847f8eSopenharmony_ci * @since 12 116661847f8eSopenharmony_ci */ 116761847f8eSopenharmony_ci interface ReuseUnlockResult { 116861847f8eSopenharmony_ci /** 116961847f8eSopenharmony_ci * The mode for reusing unlock authentication result. 117061847f8eSopenharmony_ci * 117161847f8eSopenharmony_ci * @type { ReuseMode } 117261847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 117361847f8eSopenharmony_ci * @atomicservice 117461847f8eSopenharmony_ci * @since 12 117561847f8eSopenharmony_ci */ 117661847f8eSopenharmony_ci reuseMode: ReuseMode; 117761847f8eSopenharmony_ci 117861847f8eSopenharmony_ci /** 117961847f8eSopenharmony_ci * The allowable reuse duration.The value of the duration should be between 0 and MAX_ALLOWABLE_REUSE_DURATION. 118061847f8eSopenharmony_ci * 118161847f8eSopenharmony_ci * @type { number } 118261847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 118361847f8eSopenharmony_ci * @atomicservice 118461847f8eSopenharmony_ci * @since 12 118561847f8eSopenharmony_ci */ 118661847f8eSopenharmony_ci reuseDuration: number; 118761847f8eSopenharmony_ci } 118861847f8eSopenharmony_ci 118961847f8eSopenharmony_ci /** 119061847f8eSopenharmony_ci * Auth parameter. 119161847f8eSopenharmony_ci * 119261847f8eSopenharmony_ci * @typedef AuthParam 119361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 119461847f8eSopenharmony_ci * @since 10 119561847f8eSopenharmony_ci */ 119661847f8eSopenharmony_ci /** 119761847f8eSopenharmony_ci * Auth parameter. 119861847f8eSopenharmony_ci * 119961847f8eSopenharmony_ci * @typedef AuthParam 120061847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 120161847f8eSopenharmony_ci * @atomicservice 120261847f8eSopenharmony_ci * @since 12 120361847f8eSopenharmony_ci */ 120461847f8eSopenharmony_ci interface AuthParam { 120561847f8eSopenharmony_ci /** 120661847f8eSopenharmony_ci * Pass in challenge value. 120761847f8eSopenharmony_ci * 120861847f8eSopenharmony_ci * @type { Uint8Array } 120961847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 121061847f8eSopenharmony_ci * @since 10 121161847f8eSopenharmony_ci */ 121261847f8eSopenharmony_ci /** 121361847f8eSopenharmony_ci * Pass in challenge value. 121461847f8eSopenharmony_ci * 121561847f8eSopenharmony_ci * @type { Uint8Array } 121661847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 121761847f8eSopenharmony_ci * @atomicservice 121861847f8eSopenharmony_ci * @since 12 121961847f8eSopenharmony_ci */ 122061847f8eSopenharmony_ci challenge: Uint8Array; 122161847f8eSopenharmony_ci 122261847f8eSopenharmony_ci /** 122361847f8eSopenharmony_ci * Credential type for authentication. 122461847f8eSopenharmony_ci * 122561847f8eSopenharmony_ci * @type { UserAuthType[] } 122661847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 122761847f8eSopenharmony_ci * @since 10 122861847f8eSopenharmony_ci */ 122961847f8eSopenharmony_ci /** 123061847f8eSopenharmony_ci * Credential type for authentication. 123161847f8eSopenharmony_ci * 123261847f8eSopenharmony_ci * @type { UserAuthType[] } 123361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 123461847f8eSopenharmony_ci * @atomicservice 123561847f8eSopenharmony_ci * @since 12 123661847f8eSopenharmony_ci */ 123761847f8eSopenharmony_ci authType: UserAuthType[]; 123861847f8eSopenharmony_ci 123961847f8eSopenharmony_ci /** 124061847f8eSopenharmony_ci * Trust level of authentication result. 124161847f8eSopenharmony_ci * 124261847f8eSopenharmony_ci * @type { AuthTrustLevel } 124361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 124461847f8eSopenharmony_ci * @since 10 124561847f8eSopenharmony_ci */ 124661847f8eSopenharmony_ci /** 124761847f8eSopenharmony_ci * Trust level of authentication result. 124861847f8eSopenharmony_ci * 124961847f8eSopenharmony_ci * @type { AuthTrustLevel } 125061847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 125161847f8eSopenharmony_ci * @atomicservice 125261847f8eSopenharmony_ci * @since 12 125361847f8eSopenharmony_ci */ 125461847f8eSopenharmony_ci authTrustLevel: AuthTrustLevel; 125561847f8eSopenharmony_ci 125661847f8eSopenharmony_ci /** 125761847f8eSopenharmony_ci * Reuse unlock authentication result. 125861847f8eSopenharmony_ci * 125961847f8eSopenharmony_ci * @type { ?ReuseUnlockResult } 126061847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 126161847f8eSopenharmony_ci * @atomicservice 126261847f8eSopenharmony_ci * @since 12 126361847f8eSopenharmony_ci */ 126461847f8eSopenharmony_ci reuseUnlockResult?: ReuseUnlockResult; 126561847f8eSopenharmony_ci } 126661847f8eSopenharmony_ci 126761847f8eSopenharmony_ci /** 126861847f8eSopenharmony_ci * Auth widget parameter. 126961847f8eSopenharmony_ci * 127061847f8eSopenharmony_ci * @typedef WidgetParam 127161847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 127261847f8eSopenharmony_ci * @since 10 127361847f8eSopenharmony_ci */ 127461847f8eSopenharmony_ci /** 127561847f8eSopenharmony_ci * Auth widget parameter. 127661847f8eSopenharmony_ci * 127761847f8eSopenharmony_ci * @typedef WidgetParam 127861847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 127961847f8eSopenharmony_ci * @atomicservice 128061847f8eSopenharmony_ci * @since 12 128161847f8eSopenharmony_ci */ 128261847f8eSopenharmony_ci interface WidgetParam { 128361847f8eSopenharmony_ci /** 128461847f8eSopenharmony_ci * Title of widget. 128561847f8eSopenharmony_ci * 128661847f8eSopenharmony_ci * @type { string } 128761847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 128861847f8eSopenharmony_ci * @since 10 128961847f8eSopenharmony_ci */ 129061847f8eSopenharmony_ci /** 129161847f8eSopenharmony_ci * Title of widget. 129261847f8eSopenharmony_ci * 129361847f8eSopenharmony_ci * @type { string } 129461847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 129561847f8eSopenharmony_ci * @atomicservice 129661847f8eSopenharmony_ci * @since 12 129761847f8eSopenharmony_ci */ 129861847f8eSopenharmony_ci title: string; 129961847f8eSopenharmony_ci 130061847f8eSopenharmony_ci /** 130161847f8eSopenharmony_ci * The description text of navigation button. 130261847f8eSopenharmony_ci * 130361847f8eSopenharmony_ci * @type { ?string } 130461847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 130561847f8eSopenharmony_ci * @since 10 130661847f8eSopenharmony_ci */ 130761847f8eSopenharmony_ci /** 130861847f8eSopenharmony_ci * The description text of navigation button. 130961847f8eSopenharmony_ci * 131061847f8eSopenharmony_ci * @type { ?string } 131161847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 131261847f8eSopenharmony_ci * @atomicservice 131361847f8eSopenharmony_ci * @since 12 131461847f8eSopenharmony_ci */ 131561847f8eSopenharmony_ci navigationButtonText?: string; 131661847f8eSopenharmony_ci 131761847f8eSopenharmony_ci /** 131861847f8eSopenharmony_ci * Display type of widget. 131961847f8eSopenharmony_ci * 132061847f8eSopenharmony_ci * @type { ?WindowModeType } 132161847f8eSopenharmony_ci * @default WindowModeType.DIALOG_BOX 132261847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 132361847f8eSopenharmony_ci * @systemapi Hide this for inner system use. 132461847f8eSopenharmony_ci * @since 10 132561847f8eSopenharmony_ci */ 132661847f8eSopenharmony_ci windowMode?: WindowModeType; 132761847f8eSopenharmony_ci } 132861847f8eSopenharmony_ci 132961847f8eSopenharmony_ci /** 133061847f8eSopenharmony_ci * Authentication result: authentication token, credential type for authentication succeed. 133161847f8eSopenharmony_ci * 133261847f8eSopenharmony_ci * @typedef UserAuthResult 133361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 133461847f8eSopenharmony_ci * @since 10 133561847f8eSopenharmony_ci */ 133661847f8eSopenharmony_ci /** 133761847f8eSopenharmony_ci * Authentication result: authentication token, credential type for authentication succeed. 133861847f8eSopenharmony_ci * 133961847f8eSopenharmony_ci * @typedef UserAuthResult 134061847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 134161847f8eSopenharmony_ci * @atomicservice 134261847f8eSopenharmony_ci * @since 12 134361847f8eSopenharmony_ci */ 134461847f8eSopenharmony_ci interface UserAuthResult { 134561847f8eSopenharmony_ci /** 134661847f8eSopenharmony_ci * The authentication result. 134761847f8eSopenharmony_ci * 134861847f8eSopenharmony_ci * @type { number } 134961847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 135061847f8eSopenharmony_ci * @since 10 135161847f8eSopenharmony_ci */ 135261847f8eSopenharmony_ci /** 135361847f8eSopenharmony_ci * The authentication result. 135461847f8eSopenharmony_ci * 135561847f8eSopenharmony_ci * @type { number } 135661847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 135761847f8eSopenharmony_ci * @atomicservice 135861847f8eSopenharmony_ci * @since 12 135961847f8eSopenharmony_ci */ 136061847f8eSopenharmony_ci result: number; 136161847f8eSopenharmony_ci 136261847f8eSopenharmony_ci /** 136361847f8eSopenharmony_ci * The authentication result if the authentication is passed. 136461847f8eSopenharmony_ci * 136561847f8eSopenharmony_ci * @type { ?Uint8Array } 136661847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 136761847f8eSopenharmony_ci * @since 10 136861847f8eSopenharmony_ci */ 136961847f8eSopenharmony_ci /** 137061847f8eSopenharmony_ci * The authentication result if the authentication is passed. 137161847f8eSopenharmony_ci * 137261847f8eSopenharmony_ci * @type { ?Uint8Array } 137361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 137461847f8eSopenharmony_ci * @atomicservice 137561847f8eSopenharmony_ci * @since 12 137661847f8eSopenharmony_ci */ 137761847f8eSopenharmony_ci token?: Uint8Array; 137861847f8eSopenharmony_ci 137961847f8eSopenharmony_ci /** 138061847f8eSopenharmony_ci * Credential type for authentication succeed. 138161847f8eSopenharmony_ci * 138261847f8eSopenharmony_ci * @type { ?UserAuthType } 138361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 138461847f8eSopenharmony_ci * @since 10 138561847f8eSopenharmony_ci */ 138661847f8eSopenharmony_ci /** 138761847f8eSopenharmony_ci * Credential type for authentication succeed. 138861847f8eSopenharmony_ci * 138961847f8eSopenharmony_ci * @type { ?UserAuthType } 139061847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 139161847f8eSopenharmony_ci * @atomicservice 139261847f8eSopenharmony_ci * @since 12 139361847f8eSopenharmony_ci */ 139461847f8eSopenharmony_ci authType?: UserAuthType; 139561847f8eSopenharmony_ci 139661847f8eSopenharmony_ci /** 139761847f8eSopenharmony_ci * The enrolled state for authentication succeed. EnrolledState would be returned when the authentication has 139861847f8eSopenharmony_ci * passed. 139961847f8eSopenharmony_ci * 140061847f8eSopenharmony_ci * @type { ?EnrolledState } 140161847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 140261847f8eSopenharmony_ci * @atomicservice 140361847f8eSopenharmony_ci * @since 12 140461847f8eSopenharmony_ci */ 140561847f8eSopenharmony_ci enrolledState?: EnrolledState; 140661847f8eSopenharmony_ci } 140761847f8eSopenharmony_ci 140861847f8eSopenharmony_ci /** 140961847f8eSopenharmony_ci * Asynchronous callback of authentication operation. 141061847f8eSopenharmony_ci * 141161847f8eSopenharmony_ci * @interface IAuthCallback 141261847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 141361847f8eSopenharmony_ci * @since 10 141461847f8eSopenharmony_ci */ 141561847f8eSopenharmony_ci /** 141661847f8eSopenharmony_ci * Asynchronous callback of authentication operation. 141761847f8eSopenharmony_ci * 141861847f8eSopenharmony_ci * @interface IAuthCallback 141961847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 142061847f8eSopenharmony_ci * @atomicservice 142161847f8eSopenharmony_ci * @since 12 142261847f8eSopenharmony_ci */ 142361847f8eSopenharmony_ci interface IAuthCallback { 142461847f8eSopenharmony_ci /** 142561847f8eSopenharmony_ci * The authentication result code is returned through the callback. 142661847f8eSopenharmony_ci * If the authentication is passed, the authentication token is returned in extraInfo. 142761847f8eSopenharmony_ci * 142861847f8eSopenharmony_ci * @param { UserAuthResult } result - Authentication result information. 142961847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 143061847f8eSopenharmony_ci * @since 10 143161847f8eSopenharmony_ci */ 143261847f8eSopenharmony_ci /** 143361847f8eSopenharmony_ci * The authentication result code is returned through the callback. 143461847f8eSopenharmony_ci * If the authentication is passed, the authentication token is returned in extraInfo. 143561847f8eSopenharmony_ci * 143661847f8eSopenharmony_ci * @param { UserAuthResult } result - Authentication result information. 143761847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 143861847f8eSopenharmony_ci * @atomicservice 143961847f8eSopenharmony_ci * @since 12 144061847f8eSopenharmony_ci */ 144161847f8eSopenharmony_ci onResult(result: UserAuthResult): void; 144261847f8eSopenharmony_ci } 144361847f8eSopenharmony_ci 144461847f8eSopenharmony_ci /** 144561847f8eSopenharmony_ci * User authentication instance, used to initiate a complete authentication. 144661847f8eSopenharmony_ci * 144761847f8eSopenharmony_ci * @interface UserAuthInstance 144861847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 144961847f8eSopenharmony_ci * @since 10 145061847f8eSopenharmony_ci */ 145161847f8eSopenharmony_ci /** 145261847f8eSopenharmony_ci * User authentication instance, used to initiate a complete authentication. 145361847f8eSopenharmony_ci * 145461847f8eSopenharmony_ci * @interface UserAuthInstance 145561847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 145661847f8eSopenharmony_ci * @atomicservice 145761847f8eSopenharmony_ci * @since 12 145861847f8eSopenharmony_ci */ 145961847f8eSopenharmony_ci interface UserAuthInstance { 146061847f8eSopenharmony_ci /** 146161847f8eSopenharmony_ci * Turn on widget authentication result event listening. 146261847f8eSopenharmony_ci * 146361847f8eSopenharmony_ci * @param { 'result' } type - Indicates the type of event. 146461847f8eSopenharmony_ci * @param { IAuthCallback } callback - Indicates the listener. 146561847f8eSopenharmony_ci * @throws { BusinessError } 401 - Incorrect parameters. Possible causes: 146661847f8eSopenharmony_ci * <br>1. Mandatory parameters are left unspecified. 146761847f8eSopenharmony_ci * <br>2. Incorrect parameter types. 146861847f8eSopenharmony_ci * <br>3. Parameter verification failed. 146961847f8eSopenharmony_ci * @throws { BusinessError } 12500002 - General operation error. 147061847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 147161847f8eSopenharmony_ci * @since 10 147261847f8eSopenharmony_ci */ 147361847f8eSopenharmony_ci /** 147461847f8eSopenharmony_ci * Turn on widget authentication result event listening. 147561847f8eSopenharmony_ci * 147661847f8eSopenharmony_ci * @param { 'result' } type - Indicates the type of event. 147761847f8eSopenharmony_ci * @param { IAuthCallback } callback - Indicates the listener. 147861847f8eSopenharmony_ci * @throws { BusinessError } 401 - Incorrect parameters. Possible causes: 147961847f8eSopenharmony_ci * <br>1. Mandatory parameters are left unspecified. 148061847f8eSopenharmony_ci * <br>2. Incorrect parameter types. 148161847f8eSopenharmony_ci * <br>3. Parameter verification failed. 148261847f8eSopenharmony_ci * @throws { BusinessError } 12500002 - General operation error. 148361847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 148461847f8eSopenharmony_ci * @atomicservice 148561847f8eSopenharmony_ci * @since 12 148661847f8eSopenharmony_ci */ 148761847f8eSopenharmony_ci on(type: 'result', callback: IAuthCallback): void; 148861847f8eSopenharmony_ci 148961847f8eSopenharmony_ci /** 149061847f8eSopenharmony_ci * Turn off widget authentication result event listening. 149161847f8eSopenharmony_ci * 149261847f8eSopenharmony_ci * @param { 'result' } type - Indicates the type of event. 149361847f8eSopenharmony_ci * @param { IAuthCallback } callback - Indicates the listener. 149461847f8eSopenharmony_ci * @throws { BusinessError } 401 - Incorrect parameters. Possible causes: 149561847f8eSopenharmony_ci * <br>1. Mandatory parameters are left unspecified. 149661847f8eSopenharmony_ci * <br>2. Incorrect parameter types. 149761847f8eSopenharmony_ci * <br>3. Parameter verification failed. 149861847f8eSopenharmony_ci * @throws { BusinessError } 12500002 - General operation error. 149961847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 150061847f8eSopenharmony_ci * @since 10 150161847f8eSopenharmony_ci */ 150261847f8eSopenharmony_ci /** 150361847f8eSopenharmony_ci * Turn off widget authentication result event listening. 150461847f8eSopenharmony_ci * 150561847f8eSopenharmony_ci * @param { 'result' } type - Indicates the type of event. 150661847f8eSopenharmony_ci * @param { IAuthCallback } callback - Indicates the listener. 150761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Incorrect parameters. Possible causes: 150861847f8eSopenharmony_ci * <br>1. Mandatory parameters are left unspecified. 150961847f8eSopenharmony_ci * <br>2. Incorrect parameter types. 151061847f8eSopenharmony_ci * <br>3. Parameter verification failed. 151161847f8eSopenharmony_ci * @throws { BusinessError } 12500002 - General operation error. 151261847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 151361847f8eSopenharmony_ci * @atomicservice 151461847f8eSopenharmony_ci * @since 12 151561847f8eSopenharmony_ci */ 151661847f8eSopenharmony_ci off(type: 'result', callback?: IAuthCallback): void; 151761847f8eSopenharmony_ci 151861847f8eSopenharmony_ci /** 151961847f8eSopenharmony_ci * Start this authentication, an instance can only perform authentication once. 152061847f8eSopenharmony_ci * 152161847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_BIOMETRIC 152261847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. 152361847f8eSopenharmony_ci * @throws { BusinessError } 401 - Incorrect parameters. Possible causes: 152461847f8eSopenharmony_ci * <br>1. Incorrect parameter types. 152561847f8eSopenharmony_ci * @throws { BusinessError } 12500001 - Authentication failed. 152661847f8eSopenharmony_ci * @throws { BusinessError } 12500002 - General operation error. 152761847f8eSopenharmony_ci * @throws { BusinessError } 12500003 - Authentication canceled. 152861847f8eSopenharmony_ci * @throws { BusinessError } 12500004 - Authentication timeout. 152961847f8eSopenharmony_ci * @throws { BusinessError } 12500005 - The authentication type is not supported. 153061847f8eSopenharmony_ci * @throws { BusinessError } 12500006 - The authentication trust level is not supported. 153161847f8eSopenharmony_ci * @throws { BusinessError } 12500007 - Authentication service is busy. 153261847f8eSopenharmony_ci * @throws { BusinessError } 12500009 - Authentication is locked out. 153361847f8eSopenharmony_ci * @throws { BusinessError } 12500010 - The type of credential has not been enrolled. 153461847f8eSopenharmony_ci * @throws { BusinessError } 12500011 - Switched to the custom authentication process. 153561847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 153661847f8eSopenharmony_ci * @since 10 153761847f8eSopenharmony_ci */ 153861847f8eSopenharmony_ci /** 153961847f8eSopenharmony_ci * Start this authentication, an instance can only perform authentication once. 154061847f8eSopenharmony_ci * 154161847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_BIOMETRIC 154261847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. 154361847f8eSopenharmony_ci * @throws { BusinessError } 401 - Incorrect parameters. Possible causes: 154461847f8eSopenharmony_ci * <br>1. Incorrect parameter types. 154561847f8eSopenharmony_ci * @throws { BusinessError } 12500001 - Authentication failed. 154661847f8eSopenharmony_ci * @throws { BusinessError } 12500002 - General operation error. 154761847f8eSopenharmony_ci * @throws { BusinessError } 12500003 - Authentication canceled. 154861847f8eSopenharmony_ci * @throws { BusinessError } 12500004 - Authentication timeout. 154961847f8eSopenharmony_ci * @throws { BusinessError } 12500005 - The authentication type is not supported. 155061847f8eSopenharmony_ci * @throws { BusinessError } 12500006 - The authentication trust level is not supported. 155161847f8eSopenharmony_ci * @throws { BusinessError } 12500007 - Authentication service is busy. 155261847f8eSopenharmony_ci * @throws { BusinessError } 12500009 - Authentication is locked out. 155361847f8eSopenharmony_ci * @throws { BusinessError } 12500010 - The type of credential has not been enrolled. 155461847f8eSopenharmony_ci * @throws { BusinessError } 12500011 - Switched to the custom authentication process. 155561847f8eSopenharmony_ci * @throws { BusinessError } 12500013 - Operation failed because of PIN expired. 155661847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 155761847f8eSopenharmony_ci * @atomicservice 155861847f8eSopenharmony_ci * @since 12 155961847f8eSopenharmony_ci */ 156061847f8eSopenharmony_ci start(): void; 156161847f8eSopenharmony_ci 156261847f8eSopenharmony_ci /** 156361847f8eSopenharmony_ci * Cancel this authentication. 156461847f8eSopenharmony_ci * 156561847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_BIOMETRIC 156661847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. 156761847f8eSopenharmony_ci * @throws { BusinessError } 401 - Incorrect parameters. Possible causes: 156861847f8eSopenharmony_ci * <br>1. Incorrect parameter types. 156961847f8eSopenharmony_ci * @throws { BusinessError } 12500002 - General operation error. 157061847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 157161847f8eSopenharmony_ci * @since 10 157261847f8eSopenharmony_ci */ 157361847f8eSopenharmony_ci /** 157461847f8eSopenharmony_ci * Cancel this authentication. 157561847f8eSopenharmony_ci * 157661847f8eSopenharmony_ci * @permission ohos.permission.ACCESS_BIOMETRIC 157761847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. 157861847f8eSopenharmony_ci * @throws { BusinessError } 401 - Incorrect parameters. Possible causes: 157961847f8eSopenharmony_ci * <br>1. Incorrect parameter types. 158061847f8eSopenharmony_ci * @throws { BusinessError } 12500002 - General operation error. 158161847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 158261847f8eSopenharmony_ci * @atomicservice 158361847f8eSopenharmony_ci * @since 12 158461847f8eSopenharmony_ci */ 158561847f8eSopenharmony_ci cancel(): void; 158661847f8eSopenharmony_ci } 158761847f8eSopenharmony_ci 158861847f8eSopenharmony_ci /** 158961847f8eSopenharmony_ci * Get user authentication instance with widget. 159061847f8eSopenharmony_ci * 159161847f8eSopenharmony_ci * @param { AuthParam } authParam - Auth parameter. 159261847f8eSopenharmony_ci * @param { WidgetParam } widgetParam - Widget parameter. 159361847f8eSopenharmony_ci * @returns { UserAuthInstance } Returns an authentication instance with widget. 159461847f8eSopenharmony_ci * @throws { BusinessError } 401 - Incorrect parameters. Possible causes: 159561847f8eSopenharmony_ci * <br>1. Mandatory parameters are left unspecified. 159661847f8eSopenharmony_ci * <br>2. Incorrect parameter types. 159761847f8eSopenharmony_ci * <br>3. Parameter verification failed. 159861847f8eSopenharmony_ci * @throws { BusinessError } 12500002 - General operation error. 159961847f8eSopenharmony_ci * @throws { BusinessError } 12500005 - The authentication type is not supported. 160061847f8eSopenharmony_ci * @throws { BusinessError } 12500006 - The authentication trust level is not supported. 160161847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 160261847f8eSopenharmony_ci * @since 10 160361847f8eSopenharmony_ci */ 160461847f8eSopenharmony_ci /** 160561847f8eSopenharmony_ci * Get user authentication instance with widget. 160661847f8eSopenharmony_ci * 160761847f8eSopenharmony_ci * @param { AuthParam } authParam - Auth parameter. 160861847f8eSopenharmony_ci * @param { WidgetParam } widgetParam - Widget parameter. 160961847f8eSopenharmony_ci * @returns { UserAuthInstance } Returns an authentication instance with widget. 161061847f8eSopenharmony_ci * @throws { BusinessError } 401 - Incorrect parameters. Possible causes: 161161847f8eSopenharmony_ci * <br>1. Mandatory parameters are left unspecified. 161261847f8eSopenharmony_ci * <br>2. Incorrect parameter types. 161361847f8eSopenharmony_ci * <br>3. Parameter verification failed. 161461847f8eSopenharmony_ci * @throws { BusinessError } 12500002 - General operation error. 161561847f8eSopenharmony_ci * @throws { BusinessError } 12500005 - The authentication type is not supported. 161661847f8eSopenharmony_ci * @throws { BusinessError } 12500006 - The authentication trust level is not supported. 161761847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 161861847f8eSopenharmony_ci * @atomicservice 161961847f8eSopenharmony_ci * @since 12 162061847f8eSopenharmony_ci */ 162161847f8eSopenharmony_ci function getUserAuthInstance(authParam: AuthParam, widgetParam: WidgetParam): UserAuthInstance; 162261847f8eSopenharmony_ci 162361847f8eSopenharmony_ci /** 162461847f8eSopenharmony_ci * Notice type for user authentication. 162561847f8eSopenharmony_ci * 162661847f8eSopenharmony_ci * @enum { number } 162761847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 162861847f8eSopenharmony_ci * @systemapi Hide this for inner system use. 162961847f8eSopenharmony_ci * @since 10 163061847f8eSopenharmony_ci */ 163161847f8eSopenharmony_ci enum NoticeType { 163261847f8eSopenharmony_ci /** 163361847f8eSopenharmony_ci * Notice from widget. 163461847f8eSopenharmony_ci * 163561847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 163661847f8eSopenharmony_ci * @systemapi Hide this for inner system use. 163761847f8eSopenharmony_ci * @since 10 163861847f8eSopenharmony_ci */ 163961847f8eSopenharmony_ci WIDGET_NOTICE = 1 164061847f8eSopenharmony_ci } 164161847f8eSopenharmony_ci 164261847f8eSopenharmony_ci /** 164361847f8eSopenharmony_ci * Send notice to user authentication. 164461847f8eSopenharmony_ci * 164561847f8eSopenharmony_ci * @permission ohos.permission.SUPPORT_USER_AUTH 164661847f8eSopenharmony_ci * @param { NoticeType } noticeType - Notice type for user authentication. 164761847f8eSopenharmony_ci * @param { string } eventData - The event data from widget. 164861847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. 164961847f8eSopenharmony_ci * @throws { BusinessError } 202 - The caller is not a system application. 165061847f8eSopenharmony_ci * @throws { BusinessError } 401 - Incorrect parameters. Possible causes: 165161847f8eSopenharmony_ci * <br>1. Mandatory parameters are left unspecified. 165261847f8eSopenharmony_ci * <br>2. Incorrect parameter types. 165361847f8eSopenharmony_ci * <br>3. Parameter verification failed. 165461847f8eSopenharmony_ci * @throws { BusinessError } 12500002 - General operation error. 165561847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 165661847f8eSopenharmony_ci * @systemapi Hide this for inner system use. 165761847f8eSopenharmony_ci * @since 10 165861847f8eSopenharmony_ci */ 165961847f8eSopenharmony_ci function sendNotice(noticeType: NoticeType, eventData: string): void; 166061847f8eSopenharmony_ci 166161847f8eSopenharmony_ci /** 166261847f8eSopenharmony_ci * Enum for operation result. 166361847f8eSopenharmony_ci * 166461847f8eSopenharmony_ci * @enum { number } 166561847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 166661847f8eSopenharmony_ci * @since 9 166761847f8eSopenharmony_ci */ 166861847f8eSopenharmony_ci /** 166961847f8eSopenharmony_ci * Enum for operation result. 167061847f8eSopenharmony_ci * 167161847f8eSopenharmony_ci * @enum { number } 167261847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 167361847f8eSopenharmony_ci * @atomicservice 167461847f8eSopenharmony_ci * @since 12 167561847f8eSopenharmony_ci */ 167661847f8eSopenharmony_ci enum UserAuthResultCode { 167761847f8eSopenharmony_ci /** 167861847f8eSopenharmony_ci * Indicates that the result is success or ability is supported. 167961847f8eSopenharmony_ci * 168061847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 168161847f8eSopenharmony_ci * @since 9 168261847f8eSopenharmony_ci */ 168361847f8eSopenharmony_ci /** 168461847f8eSopenharmony_ci * Indicates that the result is success or ability is supported. 168561847f8eSopenharmony_ci * 168661847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 168761847f8eSopenharmony_ci * @atomicservice 168861847f8eSopenharmony_ci * @since 12 168961847f8eSopenharmony_ci */ 169061847f8eSopenharmony_ci SUCCESS = 12500000, 169161847f8eSopenharmony_ci 169261847f8eSopenharmony_ci /** 169361847f8eSopenharmony_ci * Indicates that the authentication result is failed. 169461847f8eSopenharmony_ci * 169561847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 169661847f8eSopenharmony_ci * @since 9 169761847f8eSopenharmony_ci */ 169861847f8eSopenharmony_ci /** 169961847f8eSopenharmony_ci * Indicates that the authentication result is failed. 170061847f8eSopenharmony_ci * 170161847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 170261847f8eSopenharmony_ci * @atomicservice 170361847f8eSopenharmony_ci * @since 12 170461847f8eSopenharmony_ci */ 170561847f8eSopenharmony_ci FAIL = 12500001, 170661847f8eSopenharmony_ci 170761847f8eSopenharmony_ci /** 170861847f8eSopenharmony_ci * Indicates other errors. 170961847f8eSopenharmony_ci * 171061847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 171161847f8eSopenharmony_ci * @since 9 171261847f8eSopenharmony_ci */ 171361847f8eSopenharmony_ci /** 171461847f8eSopenharmony_ci * Indicates other errors. 171561847f8eSopenharmony_ci * 171661847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 171761847f8eSopenharmony_ci * @atomicservice 171861847f8eSopenharmony_ci * @since 12 171961847f8eSopenharmony_ci */ 172061847f8eSopenharmony_ci GENERAL_ERROR = 12500002, 172161847f8eSopenharmony_ci 172261847f8eSopenharmony_ci /** 172361847f8eSopenharmony_ci * Indicates that this operation is canceled. 172461847f8eSopenharmony_ci * 172561847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 172661847f8eSopenharmony_ci * @since 9 172761847f8eSopenharmony_ci */ 172861847f8eSopenharmony_ci /** 172961847f8eSopenharmony_ci * Indicates that this operation is canceled. 173061847f8eSopenharmony_ci * 173161847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 173261847f8eSopenharmony_ci * @atomicservice 173361847f8eSopenharmony_ci * @since 12 173461847f8eSopenharmony_ci */ 173561847f8eSopenharmony_ci CANCELED = 12500003, 173661847f8eSopenharmony_ci 173761847f8eSopenharmony_ci /** 173861847f8eSopenharmony_ci * Indicates that this operation is time-out. 173961847f8eSopenharmony_ci * 174061847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 174161847f8eSopenharmony_ci * @since 9 174261847f8eSopenharmony_ci */ 174361847f8eSopenharmony_ci /** 174461847f8eSopenharmony_ci * Indicates that this operation is time-out. 174561847f8eSopenharmony_ci * 174661847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 174761847f8eSopenharmony_ci * @atomicservice 174861847f8eSopenharmony_ci * @since 12 174961847f8eSopenharmony_ci */ 175061847f8eSopenharmony_ci TIMEOUT = 12500004, 175161847f8eSopenharmony_ci 175261847f8eSopenharmony_ci /** 175361847f8eSopenharmony_ci * Indicates that this authentication type is not supported. 175461847f8eSopenharmony_ci * 175561847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 175661847f8eSopenharmony_ci * @since 9 175761847f8eSopenharmony_ci */ 175861847f8eSopenharmony_ci /** 175961847f8eSopenharmony_ci * Indicates that this authentication type is not supported. 176061847f8eSopenharmony_ci * 176161847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 176261847f8eSopenharmony_ci * @atomicservice 176361847f8eSopenharmony_ci * @since 12 176461847f8eSopenharmony_ci */ 176561847f8eSopenharmony_ci TYPE_NOT_SUPPORT = 12500005, 176661847f8eSopenharmony_ci 176761847f8eSopenharmony_ci /** 176861847f8eSopenharmony_ci * Indicates that the authentication trust level is not supported. 176961847f8eSopenharmony_ci * 177061847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 177161847f8eSopenharmony_ci * @since 9 177261847f8eSopenharmony_ci */ 177361847f8eSopenharmony_ci /** 177461847f8eSopenharmony_ci * Indicates that the authentication trust level is not supported. 177561847f8eSopenharmony_ci * 177661847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 177761847f8eSopenharmony_ci * @atomicservice 177861847f8eSopenharmony_ci * @since 12 177961847f8eSopenharmony_ci */ 178061847f8eSopenharmony_ci TRUST_LEVEL_NOT_SUPPORT = 12500006, 178161847f8eSopenharmony_ci 178261847f8eSopenharmony_ci /** 178361847f8eSopenharmony_ci * Indicates that the authentication task is busy. Wait for a few seconds and try again. 178461847f8eSopenharmony_ci * 178561847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 178661847f8eSopenharmony_ci * @since 9 178761847f8eSopenharmony_ci */ 178861847f8eSopenharmony_ci /** 178961847f8eSopenharmony_ci * Indicates that the authentication task is busy. Wait for a few seconds and try again. 179061847f8eSopenharmony_ci * 179161847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 179261847f8eSopenharmony_ci * @atomicservice 179361847f8eSopenharmony_ci * @since 12 179461847f8eSopenharmony_ci */ 179561847f8eSopenharmony_ci BUSY = 12500007, 179661847f8eSopenharmony_ci 179761847f8eSopenharmony_ci /** 179861847f8eSopenharmony_ci * Indicates that the authenticator is locked. 179961847f8eSopenharmony_ci * 180061847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 180161847f8eSopenharmony_ci * @since 9 180261847f8eSopenharmony_ci */ 180361847f8eSopenharmony_ci /** 180461847f8eSopenharmony_ci * Indicates that the authenticator is locked. 180561847f8eSopenharmony_ci * 180661847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 180761847f8eSopenharmony_ci * @atomicservice 180861847f8eSopenharmony_ci * @since 12 180961847f8eSopenharmony_ci */ 181061847f8eSopenharmony_ci LOCKED = 12500009, 181161847f8eSopenharmony_ci 181261847f8eSopenharmony_ci /** 181361847f8eSopenharmony_ci * Indicates that the user has not enrolled the authenticator. 181461847f8eSopenharmony_ci * 181561847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 181661847f8eSopenharmony_ci * @since 9 181761847f8eSopenharmony_ci */ 181861847f8eSopenharmony_ci /** 181961847f8eSopenharmony_ci * Indicates that the user has not enrolled the authenticator. 182061847f8eSopenharmony_ci * 182161847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 182261847f8eSopenharmony_ci * @atomicservice 182361847f8eSopenharmony_ci * @since 12 182461847f8eSopenharmony_ci */ 182561847f8eSopenharmony_ci NOT_ENROLLED = 12500010, 182661847f8eSopenharmony_ci 182761847f8eSopenharmony_ci /** 182861847f8eSopenharmony_ci * Indicates that this operation is canceled from widget's navigation button. 182961847f8eSopenharmony_ci * 183061847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 183161847f8eSopenharmony_ci * @since 10 183261847f8eSopenharmony_ci */ 183361847f8eSopenharmony_ci /** 183461847f8eSopenharmony_ci * Indicates that this operation is canceled from widget's navigation button. 183561847f8eSopenharmony_ci * 183661847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 183761847f8eSopenharmony_ci * @atomicservice 183861847f8eSopenharmony_ci * @since 12 183961847f8eSopenharmony_ci */ 184061847f8eSopenharmony_ci CANCELED_FROM_WIDGET = 12500011, 184161847f8eSopenharmony_ci 184261847f8eSopenharmony_ci /** 184361847f8eSopenharmony_ci * Indicates that current operation failed because of PIN expired. 184461847f8eSopenharmony_ci * 184561847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 184661847f8eSopenharmony_ci * @atomicservice 184761847f8eSopenharmony_ci * @since 12 184861847f8eSopenharmony_ci */ 184961847f8eSopenharmony_ci PIN_EXPIRED = 12500013 185061847f8eSopenharmony_ci } 185161847f8eSopenharmony_ci 185261847f8eSopenharmony_ci /** 185361847f8eSopenharmony_ci * User authentication widget's manager, used to manage widget's client. 185461847f8eSopenharmony_ci * 185561847f8eSopenharmony_ci * @interface UserAuthWidgetMgr 185661847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 185761847f8eSopenharmony_ci * @systemapi Hide this for inner system use. 185861847f8eSopenharmony_ci * @since 10 185961847f8eSopenharmony_ci */ 186061847f8eSopenharmony_ci interface UserAuthWidgetMgr { 186161847f8eSopenharmony_ci /** 186261847f8eSopenharmony_ci * Turn on authentication widget command event listening. 186361847f8eSopenharmony_ci * 186461847f8eSopenharmony_ci * @param { 'command' } type - Indicates the type of event. 186561847f8eSopenharmony_ci * @param { IAuthWidgetCallback } callback - Indicates the listener. 186661847f8eSopenharmony_ci * @throws { BusinessError } 401 - Incorrect parameters. Possible causes: 186761847f8eSopenharmony_ci * <br>1. Mandatory parameters are left unspecified. 186861847f8eSopenharmony_ci * <br>2. Incorrect parameter types. 186961847f8eSopenharmony_ci * <br>3. Parameter verification failed. 187061847f8eSopenharmony_ci * @throws { BusinessError } 12500002 - General operation error. 187161847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 187261847f8eSopenharmony_ci * @systemapi Hide this for inner system use. 187361847f8eSopenharmony_ci * @since 10 187461847f8eSopenharmony_ci */ 187561847f8eSopenharmony_ci on(type: 'command', callback: IAuthWidgetCallback): void; 187661847f8eSopenharmony_ci 187761847f8eSopenharmony_ci /** 187861847f8eSopenharmony_ci * Turn off authentication widget command event listening. 187961847f8eSopenharmony_ci * 188061847f8eSopenharmony_ci * @param { 'command' } type - Indicates the type of event. 188161847f8eSopenharmony_ci * @param { IAuthWidgetCallback } callback - Indicates the listener. 188261847f8eSopenharmony_ci * @throws { BusinessError } 401 - Incorrect parameters. Possible causes: 188361847f8eSopenharmony_ci * <br>1. Mandatory parameters are left unspecified. 188461847f8eSopenharmony_ci * <br>2. Incorrect parameter types. 188561847f8eSopenharmony_ci * <br>3. Parameter verification failed. 188661847f8eSopenharmony_ci * @throws { BusinessError } 12500002 - General operation error. 188761847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 188861847f8eSopenharmony_ci * @systemapi Hide this for inner system use. 188961847f8eSopenharmony_ci * @since 10 189061847f8eSopenharmony_ci */ 189161847f8eSopenharmony_ci off(type: 'command', callback?: IAuthWidgetCallback): void; 189261847f8eSopenharmony_ci } 189361847f8eSopenharmony_ci 189461847f8eSopenharmony_ci /** 189561847f8eSopenharmony_ci * Get authentication instance with widget. 189661847f8eSopenharmony_ci * 189761847f8eSopenharmony_ci * @permission ohos.permission.SUPPORT_USER_AUTH 189861847f8eSopenharmony_ci * @param { number } version - The version of widget. 189961847f8eSopenharmony_ci * @returns { UserAuthWidgetMgr } Returns an authentication manager. 190061847f8eSopenharmony_ci * @throws { BusinessError } 201 - Permission verification failed. 190161847f8eSopenharmony_ci * @throws { BusinessError } 202 - The caller is not a system application. 190261847f8eSopenharmony_ci * @throws { BusinessError } 401 - Incorrect parameters. Possible causes: 190361847f8eSopenharmony_ci * <br>1. Mandatory parameters are left unspecified. 190461847f8eSopenharmony_ci * <br>2. Incorrect parameter types. 190561847f8eSopenharmony_ci * @throws { BusinessError } 12500002 - General operation error. 190661847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 190761847f8eSopenharmony_ci * @systemapi Hide this for inner system use. 190861847f8eSopenharmony_ci * @since 10 190961847f8eSopenharmony_ci */ 191061847f8eSopenharmony_ci function getUserAuthWidgetMgr(version: number): UserAuthWidgetMgr; 191161847f8eSopenharmony_ci 191261847f8eSopenharmony_ci /** 191361847f8eSopenharmony_ci * Asynchronous callback of authentication widget operation. 191461847f8eSopenharmony_ci * 191561847f8eSopenharmony_ci * @interface IAuthWidgetCallback 191661847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 191761847f8eSopenharmony_ci * @systemapi Hide this for inner system use. 191861847f8eSopenharmony_ci * @since 10 191961847f8eSopenharmony_ci */ 192061847f8eSopenharmony_ci interface IAuthWidgetCallback { 192161847f8eSopenharmony_ci /** 192261847f8eSopenharmony_ci * The command data for authentication with widget is sent through the callback. 192361847f8eSopenharmony_ci * 192461847f8eSopenharmony_ci * @param { string } cmdData - The command data for authentication with widget. 192561847f8eSopenharmony_ci * @syscap SystemCapability.UserIAM.UserAuth.Core 192661847f8eSopenharmony_ci * @systemapi Hide this for inner system use. 192761847f8eSopenharmony_ci * @since 10 192861847f8eSopenharmony_ci */ 192961847f8eSopenharmony_ci sendCommand(cmdData: string): void; 193061847f8eSopenharmony_ci } 193161847f8eSopenharmony_ci} 193261847f8eSopenharmony_ci 193361847f8eSopenharmony_ciexport default userAuth; 1934