色哟哟视频在线观看-色哟哟视频在线-色哟哟欧美15最新在线-色哟哟免费在线观看-国产l精品国产亚洲区在线观看-国产l精品国产亚洲区久久

0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
會員中心
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙開發接口安全:【@ohos.userIAM.userAuth (用戶認證)】

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-06-06 09:21 ? 次閱讀

用戶認證

icon-note.gif說明: 本模塊首批接口從API version 6開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。

導入模塊

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

完整示例

// API version 6
import userIAM_userAuth from '@ohos.userIAM.userAuth';

export default {
    startAuth() {
        console.info("start auth");
        let auth = userIAM_userAuth.getAuthenticator();
        auth.execute("FACE_ONLY", "S2").then((code)= >{
            console.info("auth success");
            // 此處添加認證成功邏輯
        }).catch((code)= >{
            console.error("auth fail, code = " + code);
            // 此處添加認證失敗邏輯
        });
    }
}
// API version 8
import userIAM_userAuth from '@ohos.userIAM.userAuth';
let auth = new userIAM_userAuth.UserAuth();

export default {
    getVersion() {
        console.info("start get version");
        let version = this.auth.getVersion();
        console.info("auth version = " + version);
    },

    startAuth() {
        console.info("start auth");
        this.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 == 'SUCCESS') {
                        // 此處添加認證成功邏輯
                    }  else {
                        // 此處添加認證失敗邏輯
                    }
                } catch (e) {
                    console.info("auth onResult error = " + e);
                }
            },

            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);
                }
            }
        });
    },

    checkAuthSupport() {
        console.info("start check auth support");
        let checkCode = this.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);
            // 此處添加不支持指定類型認證的邏輯
        }
    },

    cancelAuth() {
        console.info("start cancel auth");
        // contextId通過auth接口獲取
        let contextId = auth.auth(null, userIAM_userAuth.UserAuthType.FACE, userIAM_userAuth.AuthTrustLevel.ATL1, {
            onResult: (result, extraInfo) = > {
                console.info("auth onResult result = " + result);
            },

            onAcquireInfo: (module, acquire, extraInfo) = > {
                console.info("auth onAcquireInfo module = " + module);
            }
        });
        let cancelCode = this.auth.cancel(contextId);
        if (cancelCode == userIAM_userAuth.Result.SUCCESS) {
            console.info("cancel auth success");
        } else {
            console.error("cancel auth fail");
        }
    }
}

userIAM_userAuth.getAuthenticator(deprecated)

getAuthenticator(): Authenticator

說明: 從 API Version 8 開始廢棄,建議使用[constructor]替代。

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

需要權限 :ohos.permission.ACCESS_BIOMETRIC

系統能力 :以下各項對應的系統能力均為SystemCapability.UserIAM.UserAuth.Core

返回值:

類型說明
[Authenticator]認證器對象。

示例:

let authenticator = userIAM_userAuth.getAuthenticator();

Authenticator(deprecated)

說明: 從 API Version 8 開始廢棄,建議使用[UserAuth]替代。

認證器對象。

execute(deprecated)

execute(type: string, level: string, callback: AsyncCallback): void

說明: 從 API Version 8 開始廢棄,建議使用[auth]替代。

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

需要權限 :ohos.permission.ACCESS_BIOMETRIC

系統能力 :以下各項對應的系統能力均為SystemCapability.UserIAM.UserAuth.Core

參數

參數名類型必填說明
typestring認證類型,當前只支持FACE_ONLY。 ALL為預留參數,當前版本暫不支持ALL類型的認證。
levelstring安全級別,對應認證的安全級別,有效值為S1(最低)、S2、S3、S4(最高)。 具備3D人臉識別能力的設備支持S3及以下安全級別的認證。 具備2D人臉識別能力的設備支持S2及以下安全級別的認證。
callbackAsyncCallback回調函數。

callback返回值:

類型說明
number表示認證結果,參見[AuthenticationResult]。

示例:

authenticator.execute("FACE_ONLY", "S2", (code)= >{
    if (code == userIAM_userAuth.AuthenticationResult.SUCCESS) {
        console.info("auth success");
        return;
    }
    console.error("auth fail, code = " + code);
})

execute(deprecated)

execute(type:string, level:string): Promise

說明: 從 API Version 8 開始廢棄,建議使用[auth]替代。

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

需要權限 :ohos.permission.ACCESS_BIOMETRIC

系統能力 :以下各項對應的系統能力均為SystemCapability.UserIAM.UserAuth.Core

參數:

參數名類型必填說明
typestring認證類型,當前只支持FACE_ONLY。 ALL為預留參數,當前版本暫不支持ALL類型的認證。
levelstring安全級別,對應認證的安全級別,有效值為S1(最低)、S2、S3、S4(最高)。 具備3D人臉識別能力的設備支持S3及以下安全級別的認證。 具備2D人臉識別能力的設備支持S2及以下安全級別的認證。

返回值:

類型說明
Promise返回攜帶一個number的Promise。number 為認證結果,參見[AuthenticationResult]。

示例:

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

AuthenticationResult(deprecated)

說明: 從 API Version 8 開始廢棄,建議使用[ResultCode](替代。

表示認證結果的枚舉。

系統能力 :以下各項對應的系統能力均為SystemCapability.UserIAM.UserAuth.Core

名稱默認值描述
NO_SUPPORT-1設備不支持當前的認證方式。
SUCCESS0認證成功。
COMPARE_FAILURE1比對失敗。
CANCELED2用戶取消認證。
TIMEOUT3認證超時。
CAMERA_FAIL4開啟相機失敗。
BUSY5認證服務忙,請稍后重試。
INVALID_PARAMETERS6認證參數無效。
LOCKED7認證失敗次數過多,已鎖定。
NOT_ENROLLED8未錄入認證憑據。
GENERAL_ERROR100其他錯誤。

UserAuth8+

認證器的對象。

constructor8+

constructor()

表示獲取的認證器對象。

需要權限 :ohos.permission.ACCESS_BIOMETRIC

系統能力 :以下各項對應的系統能力均為SystemCapability.UserIAM.UserAuth.Core

返回值:

類型說明
[UserAuth]UserAuth認證器對象。

示例:

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

let auth = new userIAM_userAuth.UserAuth();

getVersion8+

getVersion() : number

表示獲取的認證器版本信息。

需要權限 :ohos.permission.ACCESS_BIOMETRIC

系統能力 :以下各項對應的系統能力均為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);

getAvailableStatus8+

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

表示檢查指定的認證等級的認證能力是否可用。

需要權限 :ohos.permission.ACCESS_BIOMETRIC

系統能力 :以下各項對應的系統能力均為SystemCapability.UserIAM.UserAuth.Core

參數:

參數名類型必填說明
authType[UserAuthType]認證類型,當前只支持FACE。
authTrustLevel[AuthTrustLevel]認證結果的信任等級。

返回值:

類型說明
number獲取指定的認證等級的認證能力是否可用的檢查結果,返回值參見[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);
    // 此處添加不支持指定類型認證的邏輯
}

auth8+

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

表示執行用戶認證,使用callback方式作為異步方法。

需要權限 :ohos.permission.ACCESS_BIOMETRIC

系統能力 :以下各項對應的系統能力均為SystemCapability.UserIAM.UserAuth.Core

參數:

參數名類型必填說明
challengeUint8Array挑戰值,可以填null。
authType[UserAuthType]認證類型,當前支持FACE。
authTrustLevel[AuthTrustLevel]信任等級。
callback[IUserAuthCallback]回調函數。

返回值:

類型說明
Uint8ArrayContextId,作為取消認證[cancelAuth]接口的入參。

示例:

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);
        }
    }
});

cancelAuth8+

cancelAuth(contextID : Uint8Array) : number

表示通過contextID取消本次認證操作。

需要權限 :ohos.permission.ACCESS_BIOMETRIC

系統能力 :以下各項對應的系統能力均為SystemCapability.UserIAM.UserAuth.Core

參數:

參數名類型必填說明
contextIDUint8Array上下文ID信息,通過[auth]接口獲得。

返回值:

類型說明
number取消本次認證操作的結果。

示例:

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

// contextId可通過auth接口獲取,此處直接定義
let contextId = new Uint8Array([0, 1, 2, 3, 4, 5, 6, 7]);
let cancelCode = auth.cancel(contextId);
if (cancelCode == userIAM_userAuth.ResultCode.SUCCESS) {
    console.info("cancel auth success");
} else {
    console.error("cancel auth fail");
}

IUserAuthCallback8+

認證過程中回調結果的對象。

onResult8+

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

表示在認證操作中,獲取認證結果。

系統能力 :以下各項對應的系統能力均為SystemCapability.UserIAM.UserAuth.Core

參數:

參數名類型必填說明
resultnumber認證結果,參見[ResultCode]。
extraInfo[AuthResult]擴展信息,不同情況下的具體信息, 如果身份驗證通過,則在extrainfo中返回用戶認證令牌, 如果身份驗證失敗,則在extrainfo中返回剩余的用戶認證次數, 如果身份驗證執行器被鎖定,則在extrainfo中返回凍結時間。

示例:

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 == SUCCESS) {
                // 此處添加認證成功邏輯
            }  else {
                // 此處添加認證失敗邏輯
            }
        } catch (e) {
            console.info("auth onResult error = " + e);
        }
    },

    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);
        }
    }
});

onAcquireInfo8+

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

表示在認證過程中,獲取提示碼信息,非必須實現。

系統能力 :以下各項對應的系統能力均為SystemCapability.UserIAM.UserAuth.Core

參數:

參數名類型必填說明
modulenumber認證執行器的類型。
acquirenumber認證執行器認證過程的交互信息。
extraInfoany預留字段。

示例:

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 == SUCCESS) {
                // 此處添加認證成功邏輯
            }  else {
                // 此處添加認證失敗邏輯
            }
        } catch (e) {
            console.info("auth onResult error = " + e);
        }
    },

    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);
        }
    }
});

AuthResult8+

表示認證結果的對象。

系統能力 :以下各項對應的系統能力均為SystemCapability.UserIAM.UserAuth.Core

名稱參數類型必填說明
tokenUint8Array身份認證令牌。
remainTimesnumber剩余的認證操作次數。
freezingTimenumber認證操作的凍結時間。

ResultCode8+

表示執行結果的枚舉。

系統能力 :以下各項對應的系統能力均為SystemCapability.UserIAM.UserAuth.Core

名稱默認值描述
SUCCESS0執行成功。
FAIL1執行失敗。
GENERAL_ERROR2操作通用錯誤。
CANCELED3操作取消。
TIMEOUT4操作超時。
TYPE_NOT_SUPPORT5不支持的認證類型。
TRUST_LEVEL_NOT_SUPPORT6不支持的認證等級。
BUSY7忙碌狀態。
INVALID_PARAMETERS8無效參數。
LOCKED9認證器已鎖定。
NOT_ENROLLED10用戶未錄入認證信息。

FaceTips8+

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

系統能力 :以下各項對應的系統能力均為SystemCapability.UserIAM.UserAuth.Core

名稱默認值描述
FACE_AUTH_TIP_TOO_BRIGHT1光線太強,獲取的圖像太亮。
FACE_AUTH_TIP_TOO_DARK2光線太暗,獲取的圖像太暗。
FACE_AUTH_TIP_TOO_CLOSE3人臉距離設備過近。
FACE_AUTH_TIP_TOO_FAR4人臉距離設備過遠。
FACE_AUTH_TIP_TOO_HIGH5設備太高,僅獲取到人臉上部。
FACE_AUTH_TIP_TOO_LOW6設備太低,僅獲取到人臉下部。
FACE_AUTH_TIP_TOO_RIGHT7設備太靠右,僅獲取到人臉右部。
FACE_AUTH_TIP_TOO_LEFT8設備太靠左,僅獲取到人臉左部。
FACE_AUTH_TIP_TOO_MUCH_MOTION9在圖像采集過程中,用戶人臉移動太快。
FACE_AUTH_TIP_POOR_GAZE10沒有正視攝像頭。
FACE_AUTH_TIP_NOT_DETECTED11沒有檢測到人臉信息。

FingerprintTips8+

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

系統能力 :以下各項對應的系統能力均為SystemCapability.UserIAM.UserAuth.Core

名稱默認值描述
FINGERPRINT_AUTH_TIP_GOOD0獲取的指紋圖像良好。
FINGERPRINT_AUTH_TIP_DIRTY1由于傳感器上可疑或檢測到的污垢,指紋圖像噪音過大。
FINGERPRINT_AUTH_TIP_INSUFFICIENT2由于檢測到的情況,指紋圖像噪聲太大,無法處理。
FINGERPRINT_AUTH_TIP_PARTIAL3僅檢測到部分指紋圖像。
FINGERPRINT_AUTH_TIP_TOO_FAST4快速移動,指紋圖像不完整。
FINGERPRINT_AUTH_TIP_TOO_SLOW5缺少運動,指紋圖像無法讀取。

UserAuthType8+

表示身份認證的憑據類型枚舉。

系統能力 :以下各項對應的系統能力均為SystemCapability.UserIAM.UserAuth.Core

名稱默認值描述
FACE2人臉認證。
FINGERPRINT4指紋認證。

AuthTrustLevel8+

表示認證結果的信任等級枚舉。

系統能力 :以下各項對應的系統能力均為SystemCapability.UserIAM.UserAuth.Core

名稱默認值描述
ATL110000認證結果的信任等級級別1。
ATL220000認證結果的信任等級級別2。
ATL330000認證結果的信任等級級別3。
ATL440000認證結果的信任等級級別4。

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 接口
    +關注

    關注

    33

    文章

    8691

    瀏覽量

    151817
  • 鴻蒙
    +關注

    關注

    57

    文章

    2392

    瀏覽量

    43030
收藏 人收藏

    評論

    相關推薦

    鴻蒙實戰項目開發:【短信服務】

    數據管理 電話服務 分布式應用開發 通知與窗口管理 多媒體技術 安全技能 任務管理 WebGL 國際化開發 應用測試 DFX面向未來設計 鴻蒙系統移植和裁剪定制 …… ? 《
    發表于 03-03 21:29

    編譯openharmony 4.1 rk3568報錯, 編譯命令:./build.sh --product-name rk3568 --ccache

    : OHOS::UserIam::UserAuth::IpcCommon::CheckPermission(OHOS::IPCObjectStub&,
    發表于 09-06 09:25

    鴻蒙Flutter實戰:07混合開發

    # 鴻蒙Flutter實戰:混合開發 鴻蒙Flutter混合開發主要有兩種形式。 ## 1.基于har 將flutter module打包成har包,在原生
    發表于 10-23 16:00

    鴻蒙開發AI應用(匯總)連載中

    的編譯以及開發板程序燒錄的功能...4. 用鴻蒙開發AI應用方案(四)Helloworld本篇編寫了第一個鴻蒙程序,講述了從源碼到庫,從庫到組件,再從組件到應用,最后進入
    發表于 01-13 15:03

    華為鴻蒙認證測試題,你能答對幾道?

    大家好,我是老王~今天就來做幾道鴻蒙OS測試題,看看有多少人拿到滿分?(20道題,1題5分,答案展示在文末)答案▼ABBACCABBBABBAABAAABCDAAABD——————原創:老王丨【個人微信:spoto777;公眾號:鴻蒙
    發表于 11-17 16:03

    HDC2021技術分論壇:還有人不知道鴻蒙智聯設備認證咋搞?

    設計開發中最大限度地節約設計力量的有效方式。鴻蒙智聯設備認證為此提供了靈活的繼承認證策略供伙伴選擇。舉個例子來說,當伙伴有一款產品通過了認證
    發表于 11-22 18:21

    HDC2021技術分論壇:還有人不知道鴻蒙智聯設備認證咋搞?

    開發,且LTS版本的發布時間應不早于認證申請12個月。裝載的OpenHarmony組件必須滿足OpenHarmony PCS規范中規定的相應級別最小組件集要求。(3)系統安全測試:鴻蒙
    發表于 11-23 17:15

    鴻蒙JS開發接口請求loading怎么解決?

    鴻蒙JS開發接口請求loading?
    發表于 05-10 10:24

    Harmony應用開發-用戶頭像認證實現

    ;}index.jsimport prompt from '@system.prompt';import userIAM_userAuth from '@ohos.userIAM.userAuth';export
    發表于 05-19 10:13

    SystemReady安全接口擴展用戶指南

    本指南為Arm System Read 安全接口擴展提供總體的認證和測試流程概覽。 Arm Ready System Ready 是一套標準和合規認證程序。 System Ready
    發表于 08-08 07:44

    鴻蒙智聯生態設備認證與模組認證關系

    2021年10月22日~24日,華為將在中國松山湖舉行2021華為開發者大會,聚焦鴻蒙系統、智能家居、智慧辦公、HMS Core 等熱門話題,與華為專家、行業大咖、全球開發者一起探討全場景智慧
    的頭像 發表于 10-23 16:07 ?2284次閱讀
    <b class='flag-5'>鴻蒙</b>智聯生態設備<b class='flag-5'>認證</b>與模組<b class='flag-5'>認證</b>關系

    鴻蒙之@ohos.bundle.defaultAppManager (默認應用管理)

    本模塊提供查詢默認應用的能力,支持查詢當前應用是否是默認應用。 說明 本模塊首批接口從API version 9開始支持。后續版本的新增接口,采用上角標單獨標記接口的起始版本。 導入模塊
    的頭像 發表于 02-20 17:29 ?553次閱讀
    <b class='flag-5'>鴻蒙</b>之@<b class='flag-5'>ohos</b>.bundle.defaultAppManager (默認應用管理)

    潤開鴻多名講師獲首批“鴻蒙原生應用開發培訓講師”資格認證

    近日,鴻蒙生態服務(深圳)有限公司(以下簡稱“鴻蒙生態服務公司”)成功舉辦了國內首批“鴻蒙原生應用開發培訓講師”認證活動。在此次
    的頭像 發表于 03-15 11:28 ?1031次閱讀

    國內首批 | 開鴻智谷多名講師獲“鴻蒙原生應用開發培訓講師”資格認證

    2023年3月4日-5日,鴻蒙生態服務(深圳)有限公司(以下簡稱“鴻蒙生態服務公司”)組織了國內首批“鴻蒙原生應用開發培訓講師”認證,開鴻智
    的頭像 發表于 03-16 08:29 ?743次閱讀
    國內首批 | 開鴻智谷多名講師獲“<b class='flag-5'>鴻蒙</b>原生應用<b class='flag-5'>開發</b>培訓講師”資格<b class='flag-5'>認證</b>

    鴻蒙開發接口媒體:【@ohos.multimedia.media (媒體服務)】

    媒體子系統為開發者提供一套簡單且易于理解的接口,使得開發者能夠方便接入系統并使用系統的媒體資源。
    的頭像 發表于 06-06 11:03 ?954次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>開發</b><b class='flag-5'>接口</b>媒體:【@<b class='flag-5'>ohos</b>.multimedia.media (媒體服務)】
    主站蜘蛛池模板: 伦理片a在线线2 | chinese极品嫩模videos | 精品人妻伦九区久久AAA片69 | 98国产精品人妻无码免费 | 无码一区国产欧美在线资源 | 免费三级播放器 | 色播播电影 | 欧美激情久久久久久久大片 | 诱人的秘书BD在线观看 | 亚洲国产成人久久精品影视 | 亚洲伊人情人综合网站 | 艳鉧动漫1~6全集观看在线 | 在线观看国产亚洲 | 久久国产av偷拍在线 | 久久久久久免费高清电影 | 亚洲国产中文在线视频 | 娇小萝被两个黑人用半米长 | 杨幂视频1分11未删减在线观看 | xxxjapanese丰满奶水 | 午夜伦理电影在线观免费 | 久久久免费热线精品频 | 18女下面流水不遮网站免费 | 午夜影视不用充钱的免费 | 成人免费看片45分钟 | 国产乱人伦AV麻豆网 | 健身房被教练啪到腿软H | 久久99亚洲AV无码四区碰碰 | 男宿舍里的呻吟h | 无限资源在线看影院免费观看 | 精品国产成a人在线观看 | 男生jj插入女生jj | 亚州AV人片一区二区三区99久 | 亚洲VA天堂VA欧美VA在线 | 百度影音第四色 | 菠萝菠萝蜜免费播放高清 | 亚洲精品久久久久一区二区三 | 嗯啊插的好深啊使劲抽视频 | 999视频在线观看 | 男人桶女人j的视频在线观看 | 亚洲乱码国产乱码精品精98 | 国产一区二区高清 |