W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
提供用戶認證能力,可應(yīng)用于設(shè)備解鎖、支付、應(yīng)用登錄等身份認證場景。
本模塊首批接口從API version 6開始支持。后續(xù)版本的新增接口,采用上角標單獨標記接口的起始版本。
表示認證結(jié)果信息。
系統(tǒng)能力:以下各項對應(yīng)的系統(tǒng)能力均為SystemCapability.UserIAM.UserAuth.Core。
名稱 | 類型 | 必填 | 說明 |
---|---|---|---|
result | number | 是 | 認證結(jié)果。 |
token | Uint8Array | 否 | 用戶身份認證通過的憑證。 |
remainAttempts | number | 否 | 剩余的認證嘗試次數(shù)。 |
lockoutDuration | number | 否 | 認證操作的鎖定時長,時間單位為毫秒ms。 |
表示認證過程中的提示信息。
系統(tǒng)能力:以下各項對應(yīng)的系統(tǒng)能力均為SystemCapability.UserIAM.UserAuth.Core。
名稱 | 類型 | 必填 | 說明 |
---|---|---|---|
module | number | 是 | 發(fā)送提示信息的模塊標識。 |
tip | number | 是 | 認證過程提示信息。 |
表示認證過程中事件信息的類型。
系統(tǒng)能力:以下各項對應(yīng)的系統(tǒng)能力均為SystemCapability.UserIAM.UserAuth.Core。
取值類型 | 說明 |
---|---|
獲取到的認證結(jié)果信息。 | |
認證過程中的提示信息。 |
callback(result : EventInfo) : void
通過該回調(diào)獲取認證結(jié)果信息或認證過程中的提示信息。
系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
result | 是 | 返回的認證結(jié)果信息或提示信息。 |
示例:
- import userIAM_userAuth from '@ohos.userIAM.userAuth';
- let challenge = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]);
- let authType = userIAM_userAuth.UserAuthType.FACE;
- let authTrustLevel = userIAM_userAuth.AuthTrustLevel.ATL1;
- // 通過callback獲取認證結(jié)果
- try {
- let auth = userIAM_userAuth.getAuthInstance(challenge, authType, authTrustLevel);
- auth.on("result", {
- callback: (result: userIAM_userAuth.AuthResultInfo) => {
- console.log("authV9 result " + result.result);
- console.log("authV9 token " + result.token);
- console.log("authV9 remainAttempts " + result.remainAttempts);
- console.log("authV9 lockoutDuration " + result.lockoutDuration);
- }
- });
- auth.start();
- console.log("authV9 start success");
- } catch (error) {
- console.log("authV9 error = " + error);
- // do error
- }
- // 通過callback獲取認證過程中的提示信息
- try {
- let auth = userIAM_userAuth.getAuthInstance(challenge, authType, authTrustLevel);
- auth.on("tip", {
- callback : (result : userIAM_userAuth.TipInfo) => {
- switch (result.tip) {
- case userIAM_userAuth.FaceTips.FACE_AUTH_TIP_TOO_BRIGHT:
- // do something;
- case userIAM_userAuth.FaceTips.FACE_AUTH_TIP_TOO_DARK:
- // do something;
- default:
- // do others
- }
- }
- });
- auth.start();
- console.log("authV9 start success");
- } catch (error) {
- console.log("authV9 error = " + error);
- // do error
- }
on : (name : AuthEventKey, callback : AuthEvent) => void
訂閱指定類型的用戶認證事件。
使用獲取到的AuthInstance對象調(diào)用該接口進行訂閱。
系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
name | 是 | 表示認證事件類型,取值為"result"時,回調(diào)函數(shù)返回認證結(jié)果;取值為"tip"時,回調(diào)函數(shù)返回認證過程中的提示信息。 | |
callback | 是 | 認證接口的回調(diào)函數(shù),用于返回認證結(jié)果或認證過程中的提示信息。 |
以下錯誤碼的詳細介紹請參見用戶認證錯誤碼
錯誤碼:
錯誤碼ID | 錯誤信息 |
---|---|
401 | Incorrect parameters. |
12500002 | General operation error. |
示例:
- import userIAM_userAuth from '@ohos.userIAM.userAuth';
- let challenge = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]);
- let authType = userIAM_userAuth.UserAuthType.FACE;
- let authTrustLevel = userIAM_userAuth.AuthTrustLevel.ATL1;
- try {
- let auth = userIAM_userAuth.getAuthInstance(challenge, authType, authTrustLevel);
- // 訂閱認證結(jié)果
- auth.on("result", {
- callback: (result: userIAM_userAuth.AuthResultInfo) => {
- console.log("authV9 result " + result.result);
- console.log("authV9 token " + result.token);
- console.log("authV9 remainAttempts " + result.remainAttempts);
- console.log("authV9 lockoutDuration " + result.lockoutDuration);
- }
- });
- // 訂閱認證過程中的提示信息
- auth.on("tip", {
- callback : (result : userIAM_userAuth.TipInfo) => {
- switch (result.tip) {
- case userIAM_userAuth.FaceTips.FACE_AUTH_TIP_TOO_BRIGHT:
- // do something;
- case userIAM_userAuth.FaceTips.FACE_AUTH_TIP_TOO_DARK:
- // do something;
- default:
- // do others
- }
- }
- });
- auth.start();
- console.log("authV9 start success");
- } catch (error) {
- console.log("authV9 error = " + error);
- // do error
- }
off : (name : AuthEventKey) => void
取消訂閱特定類型的認證事件。
需要使用已經(jīng)成功訂閱事件的AuthInstance對象調(diào)用該接口進行取消訂閱。
系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core
名稱 | 類型 | 必填 | 說明 |
---|---|---|---|
name | 是 | 表示認證事件類型,取值為"result"時,取消訂閱認證結(jié)果;取值為"tip"時,取消訂閱認證過程中的提示信息。 |
以下錯誤碼的詳細介紹請參見用戶認證錯誤碼
錯誤碼:
錯誤碼ID | 錯誤信息 |
---|---|
401 | Incorrect parameters. |
12500002 | General operation error. |
示例:
- import userIAM_userAuth from '@ohos.userIAM.userAuth';
- let challenge = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]);
- let authType = userIAM_userAuth.UserAuthType.FACE;
- let authTrustLevel = userIAM_userAuth.AuthTrustLevel.ATL1;
- let auth;
- try {
- auth = userIAM_userAuth.getAuthInstance(challenge, authType, authTrustLevel);
- console.log("get auth instance success");
- } catch (error) {
- console.log("get auth instance failed" + error);
- }
- try {
- // 訂閱認證結(jié)果
- auth.on("result", {
- callback: (result: userIAM_userAuth.AuthResultInfo) => {
- console.log("authV9 result " + result.result);
- console.log("authV9 token " + result.token);
- console.log("authV9 remainAttempts " + result.remainAttempts);
- console.log("authV9 lockoutDuration " + result.lockoutDuration);
- }
- });
- console.log("subscribe authentication event success");
- } catch (error) {
- console.log("subscribe authentication event failed " + error);
- }
- // 取消訂閱認證結(jié)果
- try {
- auth.off("result");
- console.info("cancel subscribe authentication event success");
- } catch (error) {
- console.info("cancel subscribe authentication event failed, error = " + error);
- }
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. |
示例:
- import userIAM_userAuth from '@ohos.userIAM.userAuth';
- let challenge = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]);
- let authType = userIAM_userAuth.UserAuthType.FACE;
- let authTrustLevel = userIAM_userAuth.AuthTrustLevel.ATL1;
- try {
- let auth = userIAM_userAuth.getAuthInstance(challenge, authType, authTrustLevel);
- auth.start();
- console.info("authV9 start auth success");
- } catch (error) {
- console.info("authV9 start auth failed, error = " + error);
- }
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. |
示例:
- import userIAM_userAuth from '@ohos.userIAM.userAuth';
- let challenge = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]);
- let authType = userIAM_userAuth.UserAuthType.FACE;
- let authTrustLevel = userIAM_userAuth.AuthTrustLevel.ATL1;
- try {
- let auth = userIAM_userAuth.getAuthInstance(challenge, authType, authTrustLevel);
- auth.cancel();
- console.info("cancel auth success");
- } catch (error) {
- console.info("cancel auth failed, error = " + error);
- }
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 | 是 | 認證類型,當(dāng)前支持FACE。 | |
authTrustLevel | 是 | 認證信任等級。 |
返回值:
類型 | 說明 |
---|---|
認證器對象。 |
以下錯誤碼的詳細介紹請參見用戶認證錯誤碼
錯誤碼:
錯誤碼ID | 錯誤信息 |
---|---|
401 | Incorrect parameters. |
12500002 | General operation error. |
12500005 | The authentication type is not supported. |
12500006 | The authentication trust level is not supported. |
示例:
- import userIAM_userAuth from '@ohos.userIAM.userAuth';
- let challenge = new Uint8Array([1, 2, 3, 4, 5, 6, 7, 8]);
- let authType = userIAM_userAuth.UserAuthType.FACE;
- let authTrustLevel = userIAM_userAuth.AuthTrustLevel.ATL1;
- try {
- let auth = userIAM_userAuth.getAuthInstance(challenge, authType, authTrustLevel);
- console.info("get auth instance success");
- } catch (error) {
- console.info("get auth instance success failed, error = " + error);
- }
getAvailableStatus(authType : UserAuthType, authTrustLevel : AuthTrustLevel): void
查詢指定類型和等級的認證能力是否支持。
需要權(quán)限:ohos.permission.ACCESS_BIOMETRIC
系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core
參數(shù):
參數(shù)名 | 類型 | 必填 | 說明 |
---|---|---|---|
authType | 是 | 認證類型,當(dāng)前只支持FACE。 | |
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. |
示例:
- import userIAM_userAuth from '@ohos.userIAM.userAuth';
- try {
- userIAM_userAuth.getAvailableStatus(userIAM_userAuth.UserAuthType.FACE, userIAM_userAuth.AuthTrustLevel.ATL1);
- console.info("current auth trust level is supported");
- } catch (error) {
- console.info("current auth trust level is not supported, error = " + error);
- }
表示返回碼的枚舉。
系統(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 | 用戶未錄入認證信息。 |
constructor()
創(chuàng)建認證器對象。
從 API version 8 開始支持,從 API version 9 開始廢棄,請使用getAuthInstance替代。
系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core
返回值:
類型 | 說明 |
---|---|
認證器對象。 |
示例:
- import userIAM_userAuth from '@ohos.userIAM.userAuth';
- let auth = new userIAM_userAuth.UserAuth();
getVersion() : number
獲取認證器的版本信息。
從 API version 8 開始支持,從 API version 9 開始廢棄。
需要權(quán)限:ohos.permission.ACCESS_BIOMETRIC
系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core
返回值:
類型 | 說明 |
---|---|
number | 認證器版本信息。 |
示例:
- import userIAM_userAuth from '@ohos.userIAM.userAuth';
- let auth = new userIAM_userAuth.UserAuth();
- let version = auth.getVersion();
- console.info("auth version = " + version);
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 | 是 | 認證類型,當(dāng)前只支持FACE。 | |
authTrustLevel | 是 | 認證信任等級。 |
返回值:
類型 | 說明 |
---|---|
number | 查詢結(jié)果,結(jié)果為SUCCESS時表示支持,其他返回值參見ResultCode。 |
示例:
- import userIAM_userAuth from '@ohos.userIAM.userAuth';
- let auth = new userIAM_userAuth.UserAuth();
- let checkCode = auth.getAvailableStatus(userIAM_userAuth.UserAuthType.FACE, userIAM_userAuth.AuthTrustLevel.ATL1);
- if (checkCode == userIAM_userAuth.ResultCode.SUCCESS) {
- console.info("check auth support success");
- } else {
- console.error("check auth support fail, code = " + checkCode);
- }
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 | 是 | 認證類型,當(dāng)前支持FACE。 | |
authTrustLevel | 是 | 認證信任等級。 | |
callback | 是 | 回調(diào)函數(shù)。 |
返回值:
類型 | 說明 |
---|---|
Uint8Array | ContextId,作為取消認證cancelAuth接口的入?yún)ⅰ?/p> |
示例:
- import userIAM_userAuth from '@ohos.userIAM.userAuth';
- let auth = new userIAM_userAuth.UserAuth();
- auth.auth(null, userIAM_userAuth.UserAuthType.FACE, userIAM_userAuth.AuthTrustLevel.ATL1, {
- onResult: (result, extraInfo) => {
- try {
- console.info("auth onResult result = " + result);
- console.info("auth onResult extraInfo = " + JSON.stringify(extraInfo));
- if (result == userIAM_userAuth.ResultCode.SUCCESS) {
- // 此處添加認證成功邏輯
- } else {
- // 此處添加認證失敗邏輯
- }
- } catch (e) {
- console.info("auth onResult error = " + e);
- }
- }
- });
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。 |
示例:
- import userIAM_userAuth from '@ohos.userIAM.userAuth';
- // contextId可通過auth接口獲取,此處直接定義
- let contextId = new Uint8Array([0, 1, 2, 3, 4, 5, 6, 7]);
- let auth = new userIAM_userAuth.UserAuth();
- let cancelCode = auth.cancelAuth(contextId);
- if (cancelCode == userIAM_userAuth.ResultCode.SUCCESS) {
- console.info("cancel auth success");
- } else {
- console.error("cancel auth fail");
- }
返回認證結(jié)果的回調(diào)對象。
從 API version 8 開始支持,從 API version 9 開始廢棄,建議使用AuthEvent代替。
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 | 是 | 擴展信息,不同情況下的具體信息, 如果身份驗證通過,則在extraInfo中返回用戶認證令牌, 如果身份驗證失敗,則在extraInfo中返回剩余的用戶認證次數(shù), 如果身份驗證執(zhí)行器被鎖定,則在extraInfo中返回凍結(jié)時間。 |
示例:
- import userIAM_userAuth from '@ohos.userIAM.userAuth';
- let auth = new userIAM_userAuth.UserAuth();
- auth.auth(null, userIAM_userAuth.UserAuthType.FACE, userIAM_userAuth.AuthTrustLevel.ATL1, {
- onResult: (result, extraInfo) => {
- try {
- console.info("auth onResult result = " + result);
- console.info("auth onResult extraInfo = " + JSON.stringify(extraInfo));
- if (result == userIAM_userAuth.ResultCode.SUCCESS) {
- // 此處添加認證成功邏輯
- } else {
- // 此處添加認證失敗邏輯
- }
- } catch (e) {
- console.info("auth onResult error = " + e);
- }
- }
- });
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ù)留字段。 |
示例:
- import userIAM_userAuth from '@ohos.userIAM.userAuth';
- let auth = new userIAM_userAuth.UserAuth();
- auth.auth(null, userIAM_userAuth.UserAuthType.FACE, userIAM_userAuth.AuthTrustLevel.ATL1, {
- onAcquireInfo: (module, acquire, extraInfo) => {
- try {
- console.info("auth onAcquireInfo module = " + module);
- console.info("auth onAcquireInfo acquire = " + acquire);
- console.info("auth onAcquireInfo extraInfo = " + JSON.stringify(extraInfo));
- } catch (e) {
- console.info("auth onAcquireInfo error = " + e);
- }
- }
- });
表示認證結(jié)果的對象。
從 API version 8 開始支持,從 API version 9 開始廢棄,建議使用AuthResultInfo代替。
系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core
名稱 | 類型 | 必填 | 說明 |
---|---|---|---|
token | Uint8Array | 否 | 認證通過的令牌信息。 |
remainTimes | number | 否 | 剩余的認證操作次數(shù)。 |
freezingTime | number | 否 | 認證操作的凍結(jié)時間。 |
表示返回碼的枚舉。
從 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 | 用戶未錄入認證信息。 |
表示人臉認證過程中提示碼的枚舉。
系統(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 | 沒有檢測到人臉信息。 |
表示指紋認證過程中提示碼的枚舉。
系統(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 | 缺少運動,指紋圖像無法讀取。 |
表示身份認證的憑據(jù)類型枚舉。
系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core
名稱 | 值 | 說明 |
---|---|---|
FACE | 2 | 人臉認證。 |
FINGERPRINT | 4 | 指紋認證。 |
表示認證結(jié)果的信任等級枚舉。
系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core
名稱 | 值 | 說明 |
---|---|---|
ATL1 | 10000 | 認證結(jié)果的信任等級級別1。 |
ATL2 | 20000 | 認證結(jié)果的信任等級級別2。 |
ATL3 | 30000 | 認證結(jié)果的信任等級級別3。 |
ATL4 | 40000 | 認證結(jié)果的信任等級級別4。 |
getAuthenticator(): Authenticator
獲取Authenticator對象,用于執(zhí)行用戶身份認證。
從 API version 8 開始廢棄,建議使用constructor替代。
系統(tǒng)能力:SystemCapability.UserIAM.UserAuth.Core
返回值:
類型 | 說明 |
---|---|
認證器對象。 |
示例:
- let authenticator = userIAM_userAuth.getAuthenticator();
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。 |
示例:
- let authenticator = userIAM_userAuth.getAuthenticator();
- authenticator.execute("FACE_ONLY", "S2", (error, code)=>{
- if (code === userIAM_userAuth.ResultCode.SUCCESS) {
- console.info("auth success");
- return;
- }
- console.error("auth fail, code = " + code);
- });
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。 |
示例:
- let authenticator = userIAM_userAuth.getAuthenticator();
- authenticator.execute("FACE_ONLY", "S2").then((code)=>{
- console.info("auth success");
- }).catch((error)=>{
- console.error("auth fail, code = " + error);
- });
表示認證結(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 | 其他錯誤。 |
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: