用户认证

2024-01-23 16:00 更新

提供用户认证能力,可应用于设备解锁、支付、应用登录等身份认证场景。

说明

本模块首批接口从API version 6开始支持。后续版本的新增接口,采用上角标单独标记接口的起始版本。

导入模块

  1. import userIAM_userAuth from '@ohos.userIAM.userAuth';

AuthResultInfo9+

表示认证结果信息。

系统能力:以下各项对应的系统能力均为SystemCapability.UserIAM.UserAuth.Core。

名称

类型

必填

说明

result

number

认证结果。

token

Uint8Array

用户身份认证通过的凭证。

remainAttempts

number

剩余的认证尝试次数。

lockoutDuration

number

认证操作的锁定时长,时间单位为毫秒ms。

TipInfo9+

表示认证过程中的提示信息。

系统能力:以下各项对应的系统能力均为SystemCapability.UserIAM.UserAuth.Core。

名称

类型

必填

说明

module

number

发送提示信息的模块标识。

tip

number

认证过程提示信息。

EventInfo9+

表示认证过程中事件信息的类型。

系统能力:以下各项对应的系统能力均为SystemCapability.UserIAM.UserAuth.Core。

取值类型

说明

AuthResultInfo

获取到的认证结果信息。

TipInfo

认证过程中的提示信息。

AuthEventKey9+

表示认证事件类型的关键字,作为on接口的的参数。

取值类型

说明

"result"

on接口第一个参数为"result"时,callback回调返回认证的结果信息。

"tip"

on接口第一个参数为"tip"时,callback回调返回认证操作中的提示信息。

AuthEvent9+

认证接口的异步回调对象。

callback9+

callback(result : EventInfo) : void

通过该回调获取认证结果信息或认证过程中的提示信息。

系统能力:SystemCapability.UserIAM.UserAuth.Core

参数:

参数名

类型

必填

说明

result

EventInfo

返回的认证结果信息或提示信息。

示例:

  1. import userIAM_userAuth from '@ohos.userIAM.userAuth';
  2. let challenge = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]);
  3. let authType = userIAM_userAuth.UserAuthType.FACE;
  4. let authTrustLevel = userIAM_userAuth.AuthTrustLevel.ATL1;
  5. // 通过callback获取认证结果
  6. try {
  7. let auth = userIAM_userAuth.getAuthInstance(challenge, authType, authTrustLevel);
  8. auth.on("result", {
  9. callback: (result: userIAM_userAuth.AuthResultInfo) => {
  10. console.log("authV9 result " + result.result);
  11. console.log("authV9 token " + result.token);
  12. console.log("authV9 remainAttempts " + result.remainAttempts);
  13. console.log("authV9 lockoutDuration " + result.lockoutDuration);
  14. }
  15. });
  16. auth.start();
  17. console.log("authV9 start success");
  18. } catch (error) {
  19. console.log("authV9 error = " + error);
  20. // do error
  21. }
  22. // 通过callback获取认证过程中的提示信息
  23. try {
  24. let auth = userIAM_userAuth.getAuthInstance(challenge, authType, authTrustLevel);
  25. auth.on("tip", {
  26. callback : (result : userIAM_userAuth.TipInfo) => {
  27. switch (result.tip) {
  28. case userIAM_userAuth.FaceTips.FACE_AUTH_TIP_TOO_BRIGHT:
  29. // do something;
  30. case userIAM_userAuth.FaceTips.FACE_AUTH_TIP_TOO_DARK:
  31. // do something;
  32. default:
  33. // do others
  34. }
  35. }
  36. });
  37. auth.start();
  38. console.log("authV9 start success");
  39. } catch (error) {
  40. console.log("authV9 error = " + error);
  41. // do error
  42. }

AuthInstance9+

执行用户认证的对象。

on9+

on : (name : AuthEventKey, callback : AuthEvent) => void

订阅指定类型的用户认证事件。

说明

使用获取到的AuthInstance对象调用该接口进行订阅。

系统能力:SystemCapability.UserIAM.UserAuth.Core

参数:

参数名

类型

必填

说明

name

AuthEventKey

表示认证事件类型,取值为"result"时,回调函数返回认证结果;取值为"tip"时,回调函数返回认证过程中的提示信息。

callback

AuthEvent

认证接口的回调函数,用于返回认证结果或认证过程中的提示信息。

以下错误码的详细介绍请参见用户认证错误码

错误码:

错误码ID

错误信息

401

Incorrect parameters.

12500002

General operation error.

示例:

  1. import userIAM_userAuth from '@ohos.userIAM.userAuth';
  2. let challenge = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]);
  3. let authType = userIAM_userAuth.UserAuthType.FACE;
  4. let authTrustLevel = userIAM_userAuth.AuthTrustLevel.ATL1;
  5. try {
  6. let auth = userIAM_userAuth.getAuthInstance(challenge, authType, authTrustLevel);
  7. // 订阅认证结果
  8. auth.on("result", {
  9. callback: (result: userIAM_userAuth.AuthResultInfo) => {
  10. console.log("authV9 result " + result.result);
  11. console.log("authV9 token " + result.token);
  12. console.log("authV9 remainAttempts " + result.remainAttempts);
  13. console.log("authV9 lockoutDuration " + result.lockoutDuration);
  14. }
  15. });
  16. // 订阅认证过程中的提示信息
  17. auth.on("tip", {
  18. callback : (result : userIAM_userAuth.TipInfo) => {
  19. switch (result.tip) {
  20. case userIAM_userAuth.FaceTips.FACE_AUTH_TIP_TOO_BRIGHT:
  21. // do something;
  22. case userIAM_userAuth.FaceTips.FACE_AUTH_TIP_TOO_DARK:
  23. // do something;
  24. default:
  25. // do others
  26. }
  27. }
  28. });
  29. auth.start();
  30. console.log("authV9 start success");
  31. } catch (error) {
  32. console.log("authV9 error = " + error);
  33. // do error
  34. }

off9+

off : (name : AuthEventKey) => void

取消订阅特定类型的认证事件。

说明

需要使用已经成功订阅事件的AuthInstance对象调用该接口进行取消订阅。

系统能力:SystemCapability.UserIAM.UserAuth.Core

名称

类型

必填

说明

name

AuthEventKey

表示认证事件类型,取值为"result"时,取消订阅认证结果;取值为"tip"时,取消订阅认证过程中的提示信息。

以下错误码的详细介绍请参见用户认证错误码

错误码:

错误码ID

错误信息

401

Incorrect parameters.

12500002

General operation error.

示例:

  1. import userIAM_userAuth from '@ohos.userIAM.userAuth';
  2. let challenge = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]);
  3. let authType = userIAM_userAuth.UserAuthType.FACE;
  4. let authTrustLevel = userIAM_userAuth.AuthTrustLevel.ATL1;
  5. let auth;
  6. try {
  7. auth = userIAM_userAuth.getAuthInstance(challenge, authType, authTrustLevel);
  8. console.log("get auth instance success");
  9. } catch (error) {
  10. console.log("get auth instance failed" + error);
  11. }
  12. try {
  13. // 订阅认证结果
  14. auth.on("result", {
  15. callback: (result: userIAM_userAuth.AuthResultInfo) => {
  16. console.log("authV9 result " + result.result);
  17. console.log("authV9 token " + result.token);
  18. console.log("authV9 remainAttempts " + result.remainAttempts);
  19. console.log("authV9 lockoutDuration " + result.lockoutDuration);
  20. }
  21. });
  22. console.log("subscribe authentication event success");
  23. } catch (error) {
  24. console.log("subscribe authentication event failed " + error);
  25. }
  26. // 取消订阅认证结果
  27. try {
  28. auth.off("result");
  29. console.info("cancel subscribe authentication event success");
  30. } catch (error) {
  31. console.info("cancel subscribe authentication event failed, error = " + error);
  32. }

start9+

start : () => void

开始认证。

说明

使用获取到的AuthInstance对象调用该接口进行认证。

需要权限:ohos.permission.ACCESS_BIOMETRIC

系统能力:SystemCapability.UserIAM.UserAuth.Core

以下错误码的详细介绍请参见用户认证错误码

错误码:

错误码ID

错误信息

201

Permission verification failed.

401

Incorrect parameters.

12500001

Authentication failed.

12500002

General operation error.

12500003

The operation is canceled.

12500004

The operation is time-out.

12500005

The authentication type is not supported.

12500006

The authentication trust level is not supported.

12500007

The authentication task is busy.

12500009

The authenticator is locked.

12500010

The type of credential has not been enrolled.

示例:

  1. import userIAM_userAuth from '@ohos.userIAM.userAuth';
  2. let challenge = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]);
  3. let authType = userIAM_userAuth.UserAuthType.FACE;
  4. let authTrustLevel = userIAM_userAuth.AuthTrustLevel.ATL1;
  5. try {
  6. let auth = userIAM_userAuth.getAuthInstance(challenge, authType, authTrustLevel);
  7. auth.start();
  8. console.info("authV9 start auth success");
  9. } catch (error) {
  10. console.info("authV9 start auth failed, error = " + error);
  11. }

cancel9+

cancel : () => void

取消认证。

说明

使用获取到的AuthInstance对象调用该接口进行取消认证,此AuthInstance需要是正在进行认证的对象。

需要权限:ohos.permission.ACCESS_BIOMETRIC

系统能力:SystemCapability.UserIAM.UserAuth.Core

以下错误码的详细介绍请参见用户认证错误码

错误码:

错误码ID

错误信息

201

Permission verification failed.

401

Incorrect parameters.

12500002

General operation error.

示例:

  1. import userIAM_userAuth from '@ohos.userIAM.userAuth';
  2. let challenge = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]);
  3. let authType = userIAM_userAuth.UserAuthType.FACE;
  4. let authTrustLevel = userIAM_userAuth.AuthTrustLevel.ATL1;
  5. try {
  6. let auth = userIAM_userAuth.getAuthInstance(challenge, authType, authTrustLevel);
  7. auth.cancel();
  8. console.info("cancel auth success");
  9. } catch (error) {
  10. console.info("cancel auth failed, error = " + error);
  11. }

userIAM_userAuth.getAuthInstance9+

getAuthInstance(challenge : Uint8Array, authType : UserAuthType, authTrustLevel : AuthTrustLevel): AuthInstance

获取AuthInstance对象,用于执行用户身份认证。

说明

每个AuthInstance只能进行一次认证,若需要再次进行认证则需重新获取AuthInstance。

系统能力:SystemCapability.UserIAM.UserAuth.Core

参数:

参数名

类型

必填

说明

challenge

Uint8Array

挑战值,最大长度为32字节,可以填null。

authType

UserAuthType

认证类型,当前支持FACE。

authTrustLevel

AuthTrustLevel

认证信任等级。

返回值:

类型

说明

AuthInstance

认证器对象。

以下错误码的详细介绍请参见用户认证错误码

错误码:

错误码ID

错误信息

401

Incorrect parameters.

12500002

General operation error.

12500005

The authentication type is not supported.

12500006

The authentication trust level is not supported.

示例:

  1. import userIAM_userAuth from '@ohos.userIAM.userAuth';
  2. let challenge = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]);
  3. let authType = userIAM_userAuth.UserAuthType.FACE;
  4. let authTrustLevel = userIAM_userAuth.AuthTrustLevel.ATL1;
  5. try {
  6. let auth = userIAM_userAuth.getAuthInstance(challenge, authType, authTrustLevel);
  7. console.info("get auth instance success");
  8. } catch (error) {
  9. console.info("get auth instance success failed, error = " + error);
  10. }

userIAM_userAuth.getAvailableStatus9+

getAvailableStatus(authType : UserAuthType, authTrustLevel : AuthTrustLevel): void

查询指定类型和等级的认证能力是否支持。

需要权限:ohos.permission.ACCESS_BIOMETRIC

系统能力:SystemCapability.UserIAM.UserAuth.Core

参数:

参数名

类型

必填

说明

authType

UserAuthType

认证类型,当前只支持FACE。

authTrustLevel

AuthTrustLevel

认证信任等级。

以下错误码的详细介绍请参见用户认证错误码

错误码:

错误码ID

错误信息

201

Permission verification failed.

401

Incorrect parameters.

12500002

General operation error.

12500005

The authentication type is not supported.

12500006

The authentication trust level is not supported.

12500010

The type of credential has not been enrolled.

示例:

  1. import userIAM_userAuth from '@ohos.userIAM.userAuth';
  2. try {
  3. userIAM_userAuth.getAvailableStatus(userIAM_userAuth.UserAuthType.FACE, userIAM_userAuth.AuthTrustLevel.ATL1);
  4. console.info("current auth trust level is supported");
  5. } catch (error) {
  6. console.info("current auth trust level is not supported, error = " + error);
  7. }

UserAuthResultCode9+

表示返回码的枚举。

系统能力:SystemCapability.UserIAM.UserAuth.Core

名称

说明

SUCCESS

12500000

执行成功。

FAIL

12500001

认证失败。

GENERAL_ERROR

12500002

操作通用错误。

CANCELED

12500003

操作取消。

TIMEOUT

12500004

操作超时。

TYPE_NOT_SUPPORT

12500005

不支持的认证类型。

TRUST_LEVEL_NOT_SUPPORT

12500006

不支持的认证等级。

BUSY

12500007

忙碌状态。

LOCKED

12500009

认证器已锁定。

NOT_ENROLLED

12500010

用户未录入认证信息。

UserAuth8+

认证器对象。

constructor(deprecated)

constructor()

创建认证器对象。

说明

从 API version 8 开始支持,从 API version 9 开始废弃,请使用getAuthInstance替代。

系统能力:SystemCapability.UserIAM.UserAuth.Core

返回值:

类型

说明

UserAuth

认证器对象。

示例:

  1. import userIAM_userAuth from '@ohos.userIAM.userAuth';
  2. let auth = new userIAM_userAuth.UserAuth();

getVersion(deprecated)

getVersion() : number

获取认证器的版本信息。

说明

从 API version 8 开始支持,从 API version 9 开始废弃。

需要权限:ohos.permission.ACCESS_BIOMETRIC

系统能力:SystemCapability.UserIAM.UserAuth.Core

返回值:

类型

说明

number

认证器版本信息。

示例:

  1. import userIAM_userAuth from '@ohos.userIAM.userAuth';
  2. let auth = new userIAM_userAuth.UserAuth();
  3. let version = auth.getVersion();
  4. console.info("auth version = " + version);

getAvailableStatus(deprecated)

getAvailableStatus(authType : UserAuthType, authTrustLevel : AuthTrustLevel) : number

查询指定类型和等级的认证能力是否支持。

说明

从 API version 8 开始支持,从 API version 9 开始废弃,请使用getAvailableStatus替代。

需要权限:ohos.permission.ACCESS_BIOMETRIC

系统能力:SystemCapability.UserIAM.UserAuth.Core

参数:

参数名

类型

必填

说明

authType

UserAuthType

认证类型,当前只支持FACE。

authTrustLevel

AuthTrustLevel

认证信任等级。

返回值:

类型

说明

number

查询结果,结果为SUCCESS时表示支持,其他返回值参见ResultCode

示例:

  1. import userIAM_userAuth from '@ohos.userIAM.userAuth';
  2. let auth = new userIAM_userAuth.UserAuth();
  3. let checkCode = auth.getAvailableStatus(userIAM_userAuth.UserAuthType.FACE, userIAM_userAuth.AuthTrustLevel.ATL1);
  4. if (checkCode == userIAM_userAuth.ResultCode.SUCCESS) {
  5. console.info("check auth support success");
  6. } else {
  7. console.error("check auth support fail, code = " + checkCode);
  8. }

auth(deprecated)

auth(challenge: Uint8Array, authType: UserAuthType, authTrustLevel: AuthTrustLevel, callback: IUserAuthCallback): Uint8Array

执行用户认证,使用回调函数返回结果。

说明

从 API version 8 开始支持,从 API version 9 开始废弃,建议使用start代替。

需要权限:ohos.permission.ACCESS_BIOMETRIC

系统能力:SystemCapability.UserIAM.UserAuth.Core

参数:

参数名

类型

必填

说明

challenge

Uint8Array

挑战值,可以填null。

authType

UserAuthType

认证类型,当前支持FACE。

authTrustLevel

AuthTrustLevel

认证信任等级。

callback

IUserAuthCallback

回调函数。

返回值:

类型

说明

Uint8Array

ContextId,作为取消认证cancelAuth接口的入参。

示例:

  1. import userIAM_userAuth from '@ohos.userIAM.userAuth';
  2. let auth = new userIAM_userAuth.UserAuth();
  3. auth.auth(null, userIAM_userAuth.UserAuthType.FACE, userIAM_userAuth.AuthTrustLevel.ATL1, {
  4. onResult: (result, extraInfo) => {
  5. try {
  6. console.info("auth onResult result = " + result);
  7. console.info("auth onResult extraInfo = " + JSON.stringify(extraInfo));
  8. if (result == userIAM_userAuth.ResultCode.SUCCESS) {
  9. // 此处添加认证成功逻辑
  10. } else {
  11. // 此处添加认证失败逻辑
  12. }
  13. } catch (e) {
  14. console.info("auth onResult error = " + e);
  15. }
  16. }
  17. });

cancelAuth(deprecated)

cancelAuth(contextID : Uint8Array) : number

表示通过contextID取消本次认证操作。

说明

从 API version 8 开始支持,从 API version 9 开始废弃,建议使用cancel代替。

需要权限:ohos.permission.ACCESS_BIOMETRIC

系统能力:SystemCapability.UserIAM.UserAuth.Core

参数:

参数名

类型

必填

说明

contextID

Uint8Array

上下文的标识,通过auth接口获取。

返回值:

类型

说明

number

取消认证的结果,结果为SUCCESS时表示取消成功,其他返回值参见ResultCode

示例:

  1. import userIAM_userAuth from '@ohos.userIAM.userAuth';
  2. // contextId可通过auth接口获取,此处直接定义
  3. let contextId = new Uint8Array([0, 1, 2, 3, 4, 5, 6, 7]);
  4. let auth = new userIAM_userAuth.UserAuth();
  5. let cancelCode = auth.cancelAuth(contextId);
  6. if (cancelCode == userIAM_userAuth.ResultCode.SUCCESS) {
  7. console.info("cancel auth success");
  8. } else {
  9. console.error("cancel auth fail");
  10. }

IUserAuthCallback(deprecated)

返回认证结果的回调对象。

说明

从 API version 8 开始支持,从 API version 9 开始废弃,建议使用AuthEvent代替。

onResult(deprecated)

onResult: (result : number, extraInfo : AuthResult) => void

回调函数,返回认证结果。

说明

从 API version 8 开始支持,从 API version 9 开始废弃,建议使用callback代替。

系统能力:SystemCapability.UserIAM.UserAuth.Core

参数:

参数名

类型

必填

说明

result

number

认证结果,参见ResultCode

extraInfo

AuthResult

扩展信息,不同情况下的具体信息,

如果身份验证通过,则在extraInfo中返回用户认证令牌,

如果身份验证失败,则在extraInfo中返回剩余的用户认证次数,

如果身份验证执行器被锁定,则在extraInfo中返回冻结时间。

示例:

  1. import userIAM_userAuth from '@ohos.userIAM.userAuth';
  2. let auth = new userIAM_userAuth.UserAuth();
  3. auth.auth(null, userIAM_userAuth.UserAuthType.FACE, userIAM_userAuth.AuthTrustLevel.ATL1, {
  4. onResult: (result, extraInfo) => {
  5. try {
  6. console.info("auth onResult result = " + result);
  7. console.info("auth onResult extraInfo = " + JSON.stringify(extraInfo));
  8. if (result == userIAM_userAuth.ResultCode.SUCCESS) {
  9. // 此处添加认证成功逻辑
  10. } else {
  11. // 此处添加认证失败逻辑
  12. }
  13. } catch (e) {
  14. console.info("auth onResult error = " + e);
  15. }
  16. }
  17. });

onAcquireInfo(deprecated)

onAcquireInfo ?: (module : number, acquire : number, extraInfo : any) => void

回调函数,返回认证过程中的提示信息,非必须实现。

说明

从 API version 8 开始支持,从 API version 9 开始废弃,建议使用callback代替。

系统能力:SystemCapability.UserIAM.UserAuth.Core

参数:

参数名

类型

必填

说明

module

number

发送提示信息的模块标识。

acquire

number

认证执过程中的提示信息。

extraInfo

any

预留字段。

示例:

  1. import userIAM_userAuth from '@ohos.userIAM.userAuth';
  2. let auth = new userIAM_userAuth.UserAuth();
  3. auth.auth(null, userIAM_userAuth.UserAuthType.FACE, userIAM_userAuth.AuthTrustLevel.ATL1, {
  4. onAcquireInfo: (module, acquire, extraInfo) => {
  5. try {
  6. console.info("auth onAcquireInfo module = " + module);
  7. console.info("auth onAcquireInfo acquire = " + acquire);
  8. console.info("auth onAcquireInfo extraInfo = " + JSON.stringify(extraInfo));
  9. } catch (e) {
  10. console.info("auth onAcquireInfo error = " + e);
  11. }
  12. }
  13. });

AuthResult(deprecated)

表示认证结果的对象。

说明

从 API version 8 开始支持,从 API version 9 开始废弃,建议使用AuthResultInfo代替。

系统能力:SystemCapability.UserIAM.UserAuth.Core

名称

类型

必填

说明

token

Uint8Array

认证通过的令牌信息。

remainTimes

number

剩余的认证操作次数。

freezingTime

number

认证操作的冻结时间。

ResultCode(deprecated)

表示返回码的枚举。

说明

从 API version 9 开始废弃,建议使用UserAuthResultCode代替。

系统能力:SystemCapability.UserIAM.UserAuth.Core

名称

说明

SUCCESS

0

执行成功。

FAIL

1

认证失败。

GENERAL_ERROR

2

操作通用错误。

CANCELED

3

操作取消。

TIMEOUT

4

操作超时。

TYPE_NOT_SUPPORT

5

不支持的认证类型。

TRUST_LEVEL_NOT_SUPPORT

6

不支持的认证等级。

BUSY

7

忙碌状态。

INVALID_PARAMETERS

8

无效参数。

LOCKED

9

认证器已锁定。

NOT_ENROLLED

10

用户未录入认证信息。

FaceTips8+

表示人脸认证过程中提示码的枚举。

系统能力:SystemCapability.UserIAM.UserAuth.Core

名称

说明

FACE_AUTH_TIP_TOO_BRIGHT

1

光线太强,获取的图像太亮。

FACE_AUTH_TIP_TOO_DARK

2

光线太暗,获取的图像太暗。

FACE_AUTH_TIP_TOO_CLOSE

3

人脸距离设备过近。

FACE_AUTH_TIP_TOO_FAR

4

人脸距离设备过远。

FACE_AUTH_TIP_TOO_HIGH

5

设备太高,仅获取到人脸上部。

FACE_AUTH_TIP_TOO_LOW

6

设备太低,仅获取到人脸下部。

FACE_AUTH_TIP_TOO_RIGHT

7

设备太靠右,仅获取到人脸右部。

FACE_AUTH_TIP_TOO_LEFT

8

设备太靠左,仅获取到人脸左部。

FACE_AUTH_TIP_TOO_MUCH_MOTION

9

在图像采集过程中,用户人脸移动太快。

FACE_AUTH_TIP_POOR_GAZE

10

没有正视摄像头。

FACE_AUTH_TIP_NOT_DETECTED

11

没有检测到人脸信息。

FingerprintTips8+

表示指纹认证过程中提示码的枚举。

系统能力:SystemCapability.UserIAM.UserAuth.Core

名称

说明

FINGERPRINT_AUTH_TIP_GOOD

0

获取的指纹图像良好。

FINGERPRINT_AUTH_TIP_DIRTY

1

由于传感器上可疑或检测到的污垢,指纹图像噪音过大。

FINGERPRINT_AUTH_TIP_INSUFFICIENT

2

由于检测到的情况,指纹图像噪声太大,无法处理。

FINGERPRINT_AUTH_TIP_PARTIAL

3

仅检测到部分指纹图像。

FINGERPRINT_AUTH_TIP_TOO_FAST

4

快速移动,指纹图像不完整。

FINGERPRINT_AUTH_TIP_TOO_SLOW

5

缺少运动,指纹图像无法读取。

UserAuthType8+

表示身份认证的凭据类型枚举。

系统能力:SystemCapability.UserIAM.UserAuth.Core

名称

说明

FACE

2

人脸认证。

FINGERPRINT

4

指纹认证。

AuthTrustLevel8+

表示认证结果的信任等级枚举。

系统能力:SystemCapability.UserIAM.UserAuth.Core

名称

说明

ATL1

10000

认证结果的信任等级级别1。

ATL2

20000

认证结果的信任等级级别2。

ATL3

30000

认证结果的信任等级级别3。

ATL4

40000

认证结果的信任等级级别4。

userIAM_userAuth.getAuthenticator(deprecated)

getAuthenticator(): Authenticator

获取Authenticator对象,用于执行用户身份认证。

说明

从 API version 8 开始废弃,建议使用constructor替代。

系统能力:SystemCapability.UserIAM.UserAuth.Core

返回值:

类型

说明

Authenticator

认证器对象。

示例:

  1. let authenticator = userIAM_userAuth.getAuthenticator();

Authenticator(deprecated)

认证器对象。

说明

从 API version 8 开始废弃,建议使用UserAuth替代。

execute(deprecated)

execute(type: AuthType, level: SecureLevel, callback: AsyncCallback<number>): void

执行用户认证,使用callback方式作为异步方法。

说明

从 API version 8 开始废弃,建议使用auth替代。

需要权限:ohos.permission.ACCESS_BIOMETRIC

系统能力:SystemCapability.UserIAM.UserAuth.Core

参数:

参数名

类型

必填

说明

type

AuthType

认证类型,当前只支持"FACE_ONLY"。

ALL为预留参数,当前版本暂不支持ALL类型的认证。

level

SecureLevel

安全级别,对应认证的安全级别,有效值为"S1"(最低)、"S2"、"S3"、"S4"(最高)。

具备3D人脸识别能力的设备支持"S3"及以下安全级别的认证。

具备2D人脸识别能力的设备支持"S2"及以下安全级别的认证。

callback

AsyncCallback<number>

回调函数。

callback返回值:

类型

说明

number

表示认证结果,参见AuthenticationResult

示例:

  1. let authenticator = userIAM_userAuth.getAuthenticator();
  2. authenticator.execute("FACE_ONLY", "S2", (error, code)=>{
  3. if (code === userIAM_userAuth.ResultCode.SUCCESS) {
  4. console.info("auth success");
  5. return;
  6. }
  7. console.error("auth fail, code = " + code);
  8. });

execute(deprecated)

execute(type : AuthType, level : SecureLevel): Promise<number>

执行用户认证,使用promise方式作为异步方法。

说明

从 API version 8 开始废弃,建议使用auth替代。

需要权限:ohos.permission.ACCESS_BIOMETRIC

系统能力:SystemCapability.UserIAM.UserAuth.Core

参数:

参数名

类型

必填

说明

type

AuthType

认证类型,当前只支持"FACE_ONLY"。

ALL为预留参数,当前版本暂不支持ALL类型的认证。

level

SecureLevel

安全级别,对应认证的安全级别,有效值为"S1"(最低)、"S2"、"S3"、"S4"(最高)。

具备3D人脸识别能力的设备支持"S3"及以下安全级别的认证。

具备2D人脸识别能力的设备支持"S2"及以下安全级别的认证。

返回值:

类型

说明

Promise<number>

返回携带一个number的Promise。number 为认证结果,参见AuthenticationResult

示例:

  1. let authenticator = userIAM_userAuth.getAuthenticator();
  2. authenticator.execute("FACE_ONLY", "S2").then((code)=>{
  3. console.info("auth success");
  4. }).catch((error)=>{
  5. console.error("auth fail, code = " + error);
  6. });

AuthenticationResult(deprecated)

表示认证结果的枚举。

说明

从 API version 8 开始废弃,建议使用ResultCode替代。

系统能力:SystemCapability.UserIAM.UserAuth.Core

名称

说明

NO_SUPPORT

-1

设备不支持当前的认证方式。

SUCCESS

0

认证成功。

COMPARE_FAILURE

1

比对失败。

CANCELED

2

用户取消认证。

TIMEOUT

3

认证超时。

CAMERA_FAIL

4

开启相机失败。

BUSY

5

认证服务忙,请稍后重试。

INVALID_PARAMETERS

6

认证参数无效。

LOCKED

7

认证失败次数过多,已锁定。

NOT_ENROLLED

8

未录入认证凭据。

GENERAL_ERROR

100

其他错误。

以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号