摘要
微信小程式使用人臉識别,隻支援微信自己開放的接口。使用第三方的,微信會稽核不通過。後續如果開放第三方,請麻煩您留言告訴我。
目前并未全面開放,特定的主體類目+郵件形式申請開放。具體參考下方官方釋出的檢視。
官方連結:微信人臉核身接口能力
符合開通條件即可支援開通,目前使用不收費,後續是否收費的問題請關注開通規範,如有收費資訊将會在官方管道通知。
申請
具體申請流程參照上方連接配接檢視
開通小程式背景的接口權限入口後,開發者可以通過公衆平台mp.weixin.qq.com登入小程式賬号,在“開發-接口設定”中,添加可用類目開通接口。即可按照下述方式,開發調試試用接口。
實作
一、擷取本機支援的 SOTER 生物認證方式
判斷目前手機是否支援 指紋識别、人臉識别,以便于做不同的處理。
文檔
wx.checkIsSupportSoterAuthentication(Object object)
示例代碼
wx.checkIsSupportSoterAuthentication({
success(res) {
// res.supportMode = [] 不具備任何被SOTER支援的生物識别方式
// res.supportMode = ['fingerPrint'] 隻支援指紋識别
// res.supportMode = ['fingerPrint', 'facial'] 支援指紋識别和人臉識别
}
})
二、請求進行基于生物識别的人臉核身
此接口在申請之後開放,官方文檔上查不到
wx.startFacialRecognitionVerify(OBJECT)
參數 | 類型 | 必填 | 說明 |
---|---|---|---|
name | String | 是 | 姓名 |
idCardNumber | String | 是 | 身份證号碼 |
success | Function | 否 | 調用成功回調 |
fail | Function | 否 | 調用失敗回調 |
complete | Function | 是 | 調用完成回調(成功或失敗都會回調) |
checkAliveType | Number | 否 | 人臉核驗的互動方式,預設讀數字。為2時,先檢查是否可以螢幕閃爍,不可以則自動為讀數字 |
傳回參數
參數 | 類型 | 說明 |
---|---|---|
errMsg | String | 錯誤資訊 |
errCode | Number | 錯誤碼 |
verifyResult | String | 本次認證結果憑據,第三方可以選擇根據這個憑據擷取相關資訊 |
回調結果說明
示例代碼:
wx.startFacialRecognitionVerify({
name:'張三',
idCardNumber:'123456789012345678',
success(res){
},
fail(err){
}
})
三、再次擷取核驗結果api(後端擷取使用者的資訊資料,前端傳參verify_result,以下都是後端處理)
此接口是前端完成人臉核身後,基于前端傳回的憑據,通過背景api再次進行核驗結果的校驗、确認之用。有助于提高安全性,請接入。
1、說明
人臉核身之後,開發者可以根據jsapi傳回的verify_result向背景拉取當次認證的結果資訊。
2、請求URL
https://api.weixin.qq.com/cityservice/face/identify/getinfo?access_token={access_token}
3、請求資料說明
參數 | 類型 | 是否必填 | 描述 |
---|---|---|---|
verify_result | String | 是 | jsapi傳回的加密key(憑據) |
擷取access_token
4、傳回參數說明
參數 | 類型 | 描述 |
---|---|---|
errcode | int | 錯誤碼, 0表示成功 |
errmsg | string | 錯誤資訊 |
identify_ret | int | 認證結果 |
identify_time | uint32 | 認證時間 |
validate_data | string | 使用者讀的數字(如是讀數字) |
openid | string | 使用者openid |
user_id_key | string | 用于背景交戶表示使用者姓名、身份證的憑證 |
finish_time | uint32 | 認證結束時間 |
id_card_number_md5 | string | 身份證号的md5(最後一位X為大寫) |
name_utf8_md5 | string | 姓名MD5 |
5、錯誤碼對應資訊
errcode | 備注 |
---|---|
84001 | 非法identity_id |
84002 | 使用者資訊過期 |
84003 | 使用者資訊不存在 |