1e41f4b71Sopenharmony_ci# @ohos.userIAM.faceAuth (Facial Authentication) (System API) 2e41f4b71Sopenharmony_ci 3e41f4b71Sopenharmony_ciThe **userIAM.faceAuth** module provides APIs for face enrollment. 4e41f4b71Sopenharmony_ci 5e41f4b71Sopenharmony_ci> **NOTE** 6e41f4b71Sopenharmony_ci> 7e41f4b71Sopenharmony_ci> - The initial APIs of this module are supported since API version 9. Newly added APIs will be marked with a superscript to indicate their earliest API version. 8e41f4b71Sopenharmony_ci> 9e41f4b71Sopenharmony_ci> - The APIs provided by this module are system APIs. 10e41f4b71Sopenharmony_ci 11e41f4b71Sopenharmony_ci## Modules to Import 12e41f4b71Sopenharmony_ci 13e41f4b71Sopenharmony_ci```ts 14e41f4b71Sopenharmony_ciimport { faceAuth } from '@kit.UserAuthenticationKit'; 15e41f4b71Sopenharmony_ci``` 16e41f4b71Sopenharmony_ci 17e41f4b71Sopenharmony_ci## FaceAuthManager 18e41f4b71Sopenharmony_ci 19e41f4b71Sopenharmony_ciProvides APIs for facial authentication management. 20e41f4b71Sopenharmony_ci 21e41f4b71Sopenharmony_ci### constructor 22e41f4b71Sopenharmony_ci 23e41f4b71Sopenharmony_ciconstructor() 24e41f4b71Sopenharmony_ci 25e41f4b71Sopenharmony_ciA constructor used to create a **FaceAuthManager** object. 26e41f4b71Sopenharmony_ci 27e41f4b71Sopenharmony_ci**System capability**: SystemCapability.UserIAM.UserAuth.FaceAuth 28e41f4b71Sopenharmony_ci 29e41f4b71Sopenharmony_ci**System API**: This is a system API. 30e41f4b71Sopenharmony_ci 31e41f4b71Sopenharmony_ci**Return value** 32e41f4b71Sopenharmony_ci 33e41f4b71Sopenharmony_ci| Type | Description | 34e41f4b71Sopenharmony_ci| ---------------------- | -------------------- | 35e41f4b71Sopenharmony_ci| [FaceAuthManager](#faceauthmanager) | **FaceAuthManager** object.| 36e41f4b71Sopenharmony_ci 37e41f4b71Sopenharmony_ci**Example** 38e41f4b71Sopenharmony_ci 39e41f4b71Sopenharmony_ci```ts 40e41f4b71Sopenharmony_ciimport { faceAuth } from '@kit.UserAuthenticationKit'; 41e41f4b71Sopenharmony_ci 42e41f4b71Sopenharmony_cilet faceAuthManager = new faceAuth.FaceAuthManager(); 43e41f4b71Sopenharmony_ci``` 44e41f4b71Sopenharmony_ci 45e41f4b71Sopenharmony_ci### setSurfaceId 46e41f4b71Sopenharmony_ci 47e41f4b71Sopenharmony_cisetSurfaceId(surfaceId: string): void; 48e41f4b71Sopenharmony_ci 49e41f4b71Sopenharmony_ciSets an [XComponent surface ID](../apis-arkui/arkui-ts/ts-basic-components-xcomponent.md#getxcomponentsurfaceid) for the face preview page in the face enrollment process. This API must be used with [addCredential](../apis-basic-services-kit/js-apis-osAccount-sys.md#addcredential8). 50e41f4b71Sopenharmony_ci 51e41f4b71Sopenharmony_ci**System capability**: SystemCapability.UserIAM.UserAuth.FaceAuth 52e41f4b71Sopenharmony_ci 53e41f4b71Sopenharmony_ci**System API**: This is a system API. 54e41f4b71Sopenharmony_ci 55e41f4b71Sopenharmony_ci**Required permissions**: ohos.permission.MANAGE_USER_IDM 56e41f4b71Sopenharmony_ci 57e41f4b71Sopenharmony_ci**Parameters** 58e41f4b71Sopenharmony_ci 59e41f4b71Sopenharmony_ci| Name | Type | Mandatory | Description | 60e41f4b71Sopenharmony_ci| -------------- | ---------------------------------- | ---- | -------------------------- | 61e41f4b71Sopenharmony_ci| surfaceId | string | Yes | ID of the surface held by [XComponent](../apis-arkui/arkui-ts/ts-basic-components-xcomponent.md#getxcomponentsurfaceid). | 62e41f4b71Sopenharmony_ci 63e41f4b71Sopenharmony_ciFor details about the error codes, see [User Authentication Error Codes](errorcode-useriam.md). 64e41f4b71Sopenharmony_ci 65e41f4b71Sopenharmony_ci**Error codes** 66e41f4b71Sopenharmony_ci 67e41f4b71Sopenharmony_ci| ID | Error Message | 68e41f4b71Sopenharmony_ci| -------- | ------- | 69e41f4b71Sopenharmony_ci| 201 | Permission verification failed. | 70e41f4b71Sopenharmony_ci| 202 | The caller is not a system application. | 71e41f4b71Sopenharmony_ci| 12700001 | Operation failed. | 72e41f4b71Sopenharmony_ci 73e41f4b71Sopenharmony_ci**Example** 74e41f4b71Sopenharmony_ci 75e41f4b71Sopenharmony_ci```ts 76e41f4b71Sopenharmony_ciimport { faceAuth } from '@kit.UserAuthenticationKit'; 77e41f4b71Sopenharmony_ci 78e41f4b71Sopenharmony_ci// The surfaceId is obtained from the XComponent control. The surfaceId here is only an example. 79e41f4b71Sopenharmony_cilet surfaceId = '123456'; 80e41f4b71Sopenharmony_cilet manager = new faceAuth.FaceAuthManager(); 81e41f4b71Sopenharmony_citry { 82e41f4b71Sopenharmony_ci manager.setSurfaceId(surfaceId); 83e41f4b71Sopenharmony_ci console.info('set surface id success'); 84e41f4b71Sopenharmony_ci} catch (error) { 85e41f4b71Sopenharmony_ci console.error('set surface id failed, error = ' + error); 86e41f4b71Sopenharmony_ci} 87e41f4b71Sopenharmony_ci``` 88