天天看點

微信小程式人臉識别認證-微信開放接口

摘要

微信小程式使用人臉識别,隻支援微信自己開放的接口。使用第三方的,微信會稽核不通過。後續如果開放第三方,請麻煩您留言告訴我。

目前并未全面開放,特定的主體類目+郵件形式申請開放。具體參考下方官方釋出的檢視。

官方連結:微信人臉核身接口能力

符合開通條件即可支援開通,目前使用不收費,後續是否收費的問題請關注開通規範,如有收費資訊将會在官方管道通知。
微信小程式人臉識别認證-微信開放接口

申請

具體申請流程參照上方連接配接檢視

開通小程式背景的接口權限入口後,開發者可以通過公衆平台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 使用者資訊不存在