用戶認證

2024-01-23 16:00 更新

提供用戶認證能力,可應(yīng)用于設(shè)備解鎖、支付、應(yīng)用登錄等身份認證場景。

說明

本模塊首批接口從API version 6開始支持。后續(xù)版本的新增接口,采用上角標單獨標記接口的起始版本。

導(dǎo)入模塊

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

AuthResultInfo9+

表示認證結(jié)果信息。

系統(tǒng)能力:以下各項對應(yīng)的系統(tǒng)能力均為SystemCapability.UserIAM.UserAuth.Core。

名稱

類型

必填

說明

result

number

認證結(jié)果。

token

Uint8Array

用戶身份認證通過的憑證。

remainAttempts

number

剩余的認證嘗試次數(shù)。

lockoutDuration

number

認證操作的鎖定時長,時間單位為毫秒ms。

TipInfo9+

表示認證過程中的提示信息。

系統(tǒng)能力:以下各項對應(yīng)的系統(tǒng)能力均為SystemCapability.UserIAM.UserAuth.Core。

名稱

類型

必填

說明

module

number

發(fā)送提示信息的模塊標識。

tip

number

認證過程提示信息。

EventInfo9+

表示認證過程中事件信息的類型。

系統(tǒng)能力:以下各項對應(yīng)的系統(tǒng)能力均為SystemCapability.UserIAM.UserAuth.Core。

取值類型

說明

AuthResultInfo

獲取到的認證結(jié)果信息。

TipInfo

認證過程中的提示信息。

AuthEventKey9+

表示認證事件類型的關(guān)鍵字,作為on接口的的參數(shù)。

取值類型

說明

"result"

on接口第一個參數(shù)為"result"時,callback回調(diào)返回認證的結(jié)果信息。

"tip"

on接口第一個參數(shù)為"tip"時,callback回調(diào)返回認證操作中的提示信息。

AuthEvent9+

認證接口的異步回調(diào)對象。

callback9+

callback(result : EventInfo) : void

通過該回調(diào)獲取認證結(jié)果信息或認證過程中的提示信息。

系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core

參數(shù):

參數(shù)名

類型

必填

說明

result

EventInfo

返回的認證結(jié)果信息或提示信息。

示例:

  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獲取認證結(jié)果
  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+

執(zhí)行用戶認證的對象。

on9+

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

訂閱指定類型的用戶認證事件。

說明

使用獲取到的AuthInstance對象調(diào)用該接口進行訂閱。

系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core

參數(shù):

參數(shù)名

類型

必填

說明

name

AuthEventKey

表示認證事件類型,取值為"result"時,回調(diào)函數(shù)返回認證結(jié)果;取值為"tip"時,回調(diào)函數(shù)返回認證過程中的提示信息。

callback

AuthEvent

認證接口的回調(diào)函數(shù),用于返回認證結(jié)果或認證過程中的提示信息。

以下錯誤碼的詳細介紹請參見用戶認證錯誤碼

錯誤碼:

錯誤碼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. // 訂閱認證結(jié)果
  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

取消訂閱特定類型的認證事件。

說明

需要使用已經(jīng)成功訂閱事件的AuthInstance對象調(diào)用該接口進行取消訂閱。

系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core

名稱

類型

必填

說明

name

AuthEventKey

表示認證事件類型,取值為"result"時,取消訂閱認證結(jié)果;取值為"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. // 訂閱認證結(jié)果
  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. // 取消訂閱認證結(jié)果
  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對象調(diào)用該接口進行認證。

需要權(quán)限:ohos.permission.ACCESS_BIOMETRIC

系統(tǒng)能力: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對象調(diào)用該接口進行取消認證,此AuthInstance需要是正在進行認證的對象。

需要權(quán)限:ohos.permission.ACCESS_BIOMETRIC

系統(tǒng)能力: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對象,用于執(zhí)行用戶身份認證。

說明

每個AuthInstance只能進行一次認證,若需要再次進行認證則需重新獲取AuthInstance。

系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core

參數(shù):

參數(shù)名

類型

必填

說明

challenge

Uint8Array

挑戰(zhàn)值,最大長度為32字節(jié),可以填null。

authType

UserAuthType

認證類型,當(dāng)前支持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

查詢指定類型和等級的認證能力是否支持。

需要權(quán)限:ohos.permission.ACCESS_BIOMETRIC

系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core

參數(shù):

參數(shù)名

類型

必填

說明

authType

UserAuthType

認證類型,當(dāng)前只支持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+

表示返回碼的枚舉。

系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core

名稱

說明

SUCCESS

12500000

執(zhí)行成功。

FAIL

12500001

認證失敗。

GENERAL_ERROR

12500002

操作通用錯誤。

CANCELED

12500003

操作取消。

TIMEOUT

12500004

操作超時。

TYPE_NOT_SUPPORT

12500005

不支持的認證類型。

TRUST_LEVEL_NOT_SUPPORT

12500006

不支持的認證等級。

BUSY

12500007

忙碌狀態(tài)。

LOCKED

12500009

認證器已鎖定。

NOT_ENROLLED

12500010

用戶未錄入認證信息。

UserAuth8+

認證器對象。

constructor(deprecated)

constructor()

創(chuàng)建認證器對象。

說明

從 API version 8 開始支持,從 API version 9 開始廢棄,請使用getAuthInstance替代。

系統(tǒng)能力: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 開始廢棄。

需要權(quán)限:ohos.permission.ACCESS_BIOMETRIC

系統(tǒng)能力: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替代。

需要權(quán)限:ohos.permission.ACCESS_BIOMETRIC

系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core

參數(shù):

參數(shù)名

類型

必填

說明

authType

UserAuthType

認證類型,當(dāng)前只支持FACE。

authTrustLevel

AuthTrustLevel

認證信任等級。

返回值:

類型

說明

number

查詢結(jié)果,結(jié)果為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

執(zhí)行用戶認證,使用回調(diào)函數(shù)返回結(jié)果。

說明

從 API version 8 開始支持,從 API version 9 開始廢棄,建議使用start代替。

需要權(quán)限:ohos.permission.ACCESS_BIOMETRIC

系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core

參數(shù):

參數(shù)名

類型

必填

說明

challenge

Uint8Array

挑戰(zhàn)值,可以填null。

authType

UserAuthType

認證類型,當(dāng)前支持FACE。

authTrustLevel

AuthTrustLevel

認證信任等級。

callback

IUserAuthCallback

回調(diào)函數(shù)。

返回值:

類型

說明

Uint8Array

ContextId,作為取消認證cancelAuth接口的入?yún)ⅰ?/p>

示例:

  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代替。

需要權(quán)限:ohos.permission.ACCESS_BIOMETRIC

系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core

參數(shù):

參數(shù)名

類型

必填

說明

contextID

Uint8Array

上下文的標識,通過auth接口獲取。

返回值:

類型

說明

number

取消認證的結(jié)果,結(jié)果為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)

返回認證結(jié)果的回調(diào)對象。

說明

從 API version 8 開始支持,從 API version 9 開始廢棄,建議使用AuthEvent代替。

onResult(deprecated)

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

回調(diào)函數(shù),返回認證結(jié)果。

說明

從 API version 8 開始支持,從 API version 9 開始廢棄,建議使用callback代替。

系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core

參數(shù):

參數(shù)名

類型

必填

說明

result

number

認證結(jié)果,參見ResultCode

extraInfo

AuthResult

擴展信息,不同情況下的具體信息,

如果身份驗證通過,則在extraInfo中返回用戶認證令牌,

如果身份驗證失敗,則在extraInfo中返回剩余的用戶認證次數(shù),

如果身份驗證執(zhí)行器被鎖定,則在extraInfo中返回凍結(jié)時間。

示例:

  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

回調(diào)函數(shù),返回認證過程中的提示信息,非必須實現(xiàn)。

說明

從 API version 8 開始支持,從 API version 9 開始廢棄,建議使用callback代替。

系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core

參數(shù):

參數(shù)名

類型

必填

說明

module

number

發(fā)送提示信息的模塊標識。

acquire

number

認證執(zhí)過程中的提示信息。

extraInfo

any

預(yù)留字段。

示例:

  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)

表示認證結(jié)果的對象。

說明

從 API version 8 開始支持,從 API version 9 開始廢棄,建議使用AuthResultInfo代替。

系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core

名稱

類型

必填

說明

token

Uint8Array

認證通過的令牌信息。

remainTimes

number

剩余的認證操作次數(shù)。

freezingTime

number

認證操作的凍結(jié)時間。

ResultCode(deprecated)

表示返回碼的枚舉。

說明

從 API version 9 開始廢棄,建議使用UserAuthResultCode代替。

系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core

名稱

說明

SUCCESS

0

執(zhí)行成功。

FAIL

1

認證失敗。

GENERAL_ERROR

2

操作通用錯誤。

CANCELED

3

操作取消。

TIMEOUT

4

操作超時。

TYPE_NOT_SUPPORT

5

不支持的認證類型。

TRUST_LEVEL_NOT_SUPPORT

6

不支持的認證等級。

BUSY

7

忙碌狀態(tài)。

INVALID_PARAMETERS

8

無效參數(shù)。

LOCKED

9

認證器已鎖定。

NOT_ENROLLED

10

用戶未錄入認證信息。

FaceTips8+

表示人臉認證過程中提示碼的枚舉。

系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core

名稱

說明

FACE_AUTH_TIP_TOO_BRIGHT

1

光線太強,獲取的圖像太亮。

FACE_AUTH_TIP_TOO_DARK

2

光線太暗,獲取的圖像太暗。

FACE_AUTH_TIP_TOO_CLOSE

3

人臉距離設(shè)備過近。

FACE_AUTH_TIP_TOO_FAR

4

人臉距離設(shè)備過遠。

FACE_AUTH_TIP_TOO_HIGH

5

設(shè)備太高,僅獲取到人臉上部。

FACE_AUTH_TIP_TOO_LOW

6

設(shè)備太低,僅獲取到人臉下部。

FACE_AUTH_TIP_TOO_RIGHT

7

設(shè)備太靠右,僅獲取到人臉右部。

FACE_AUTH_TIP_TOO_LEFT

8

設(shè)備太靠左,僅獲取到人臉左部。

FACE_AUTH_TIP_TOO_MUCH_MOTION

9

在圖像采集過程中,用戶人臉移動太快。

FACE_AUTH_TIP_POOR_GAZE

10

沒有正視攝像頭。

FACE_AUTH_TIP_NOT_DETECTED

11

沒有檢測到人臉信息。

FingerprintTips8+

表示指紋認證過程中提示碼的枚舉。

系統(tǒng)能力: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+

表示身份認證的憑據(jù)類型枚舉。

系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core

名稱

說明

FACE

2

人臉認證。

FINGERPRINT

4

指紋認證。

AuthTrustLevel8+

表示認證結(jié)果的信任等級枚舉。

系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core

名稱

說明

ATL1

10000

認證結(jié)果的信任等級級別1。

ATL2

20000

認證結(jié)果的信任等級級別2。

ATL3

30000

認證結(jié)果的信任等級級別3。

ATL4

40000

認證結(jié)果的信任等級級別4。

userIAM_userAuth.getAuthenticator(deprecated)

getAuthenticator(): Authenticator

獲取Authenticator對象,用于執(zhí)行用戶身份認證。

說明

從 API version 8 開始廢棄,建議使用constructor替代。

系統(tǒng)能力: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

執(zhí)行用戶認證,使用callback方式作為異步方法。

說明

從 API version 8 開始廢棄,建議使用auth替代。

需要權(quán)限:ohos.permission.ACCESS_BIOMETRIC

系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core

參數(shù):

參數(shù)名

類型

必填

說明

type

AuthType

認證類型,當(dāng)前只支持"FACE_ONLY"。

ALL為預(yù)留參數(shù),當(dāng)前版本暫不支持ALL類型的認證。

level

SecureLevel

安全級別,對應(yīng)認證的安全級別,有效值為"S1"(最低)、"S2"、"S3"、"S4"(最高)。

具備3D人臉識別能力的設(shè)備支持"S3"及以下安全級別的認證。

具備2D人臉識別能力的設(shè)備支持"S2"及以下安全級別的認證。

callback

AsyncCallback<number>

回調(diào)函數(shù)。

callback返回值:

類型

說明

number

表示認證結(jié)果,參見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>

執(zhí)行用戶認證,使用promise方式作為異步方法。

說明

從 API version 8 開始廢棄,建議使用auth替代。

需要權(quán)限:ohos.permission.ACCESS_BIOMETRIC

系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core

參數(shù):

參數(shù)名

類型

必填

說明

type

AuthType

認證類型,當(dāng)前只支持"FACE_ONLY"。

ALL為預(yù)留參數(shù),當(dāng)前版本暫不支持ALL類型的認證。

level

SecureLevel

安全級別,對應(yīng)認證的安全級別,有效值為"S1"(最低)、"S2"、"S3"、"S4"(最高)。

具備3D人臉識別能力的設(shè)備支持"S3"及以下安全級別的認證。

具備2D人臉識別能力的設(shè)備支持"S2"及以下安全級別的認證。

返回值:

類型

說明

Promise<number>

返回攜帶一個number的Promise。number 為認證結(jié)果,參見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)

表示認證結(jié)果的枚舉。

說明

從 API version 8 開始廢棄,建議使用ResultCode替代。

系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core

名稱

說明

NO_SUPPORT

-1

設(shè)備不支持當(dāng)前的認證方式。

SUCCESS

0

認證成功。

COMPARE_FAILURE

1

比對失敗。

CANCELED

2

用戶取消認證。

TIMEOUT

3

認證超時。

CAMERA_FAIL

4

開啟相機失敗。

BUSY

5

認證服務(wù)忙,請稍后重試。

INVALID_PARAMETERS

6

認證參數(shù)無效。

LOCKED

7

認證失敗次數(shù)過多,已鎖定。

NOT_ENROLLED

8

未錄入認證憑據(jù)。

GENERAL_ERROR

100

其他錯誤。

以上內(nèi)容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號