午夜视频在线网站,日韩视频精品在线,中文字幕精品一区二区三区在线,在线播放精品,1024你懂我懂的旧版人,欧美日韩一级黄色片,一区二区三区在线观看视频

分享

開發(fā) | 讓小程序用上「指紋識別」,只需這 3 個接口

 江海報覽 2017-08-30
8 月 18 日的小程序新能力更新中,微信團隊為小程序增加了生物識別(包括指紋識別)的能力。
最初,小程序文檔中只有具體接口調用方法,并沒有給出小程序中調用指紋識別的最佳實踐。
現在,官方文檔終于為開發(fā)者提供了指紋識別的正確方法,同時提供了一個接口,供開發(fā)者鑒別相應信息是否正確。

下面,知曉程序(微信號 zxcx0101)將根據官方文檔,教大家如何正確地在小程序中,調用指紋識別。

關注「知曉程序」微信公眾號,回復「開發(fā)」,獲取小程序全套開發(fā)經驗教程。

如何在小程序里,使用指紋識別能力?

在小程序中,微信為指紋識別提供了兩個接口

  • wx.checkIsSupportSoterAuthentication()

  • wx.startSoterAuthentication()

根據兩個接口的名字,我們可以知道:前者用于檢查當前設備是否支持生物識別,后者則是實際調用指紋識別的接口。
那么,整個調用過程的邏輯就很簡單了:先檢測當前設備和微信版本是否支持指紋識別,如果支持,則調用指紋識別進行鑒權。
1. 如何檢測是否可以調用指紋識別?
利用 wx.checkIsSupportSoterAuthentication() 接口和 wx.canIUse() 接口,我們可以檢測小程序在當前設備上,是否可以使用指紋識別。

具體代碼如下:

我們從調試臺中,可以看到調用結果含有 supportMode 參數,里面包裹一個數組。
官方文檔的說法是,如果 supportMode 數組中包含有 'fingerPrint',那么就代表當前設備可以使用指紋識別功能。
根據以上信息,我們來改寫一下代碼。


需要注意的是,如果用戶的設備不支持指紋驗證,你應該為用戶提供替代驗證方式。

2. 如何調用指紋識別?
確認小程序可以使用指紋識別之后,我們就可以進入正式的接口調用環(huán)節(jié)了。

示例的代碼如下:

在這個接口中,有這些參數:
  • requestAuthModes:允許的生物鑒權方式,以數組的形式呈現。需要指紋識別,只需填入 'finerPrint'。

  • challenge:官方稱為「挑戰(zhàn)因子」,可以將請求特征碼(訂單號、請求編號等)放入,確認用戶的是授權哪一個請求。

  • authContent:在指紋識別的對話框中,向用戶顯示的提示信息。

將兩個接口合并起來用,最終我們的代碼效果如下:

最后我們試著運行一下。看到這樣的提示,說明我們的調用成功了
如何鑒別指紋信息的真實性?
如果你的小程序沒有非常嚴格的安全要求(例如,數據存儲在本地的日記本小程序等),到這一步已經可以結束了。
如果你的小程序需要更強的安全性(例如金融交易類的小程序),你還要確認指紋信息的真實性,以防有人以偽造數據的方式,破解指紋驗證。
調用 wx.startSoterAuthentication() 接口后,微信會向小程序返回指紋識別數據。開發(fā)者需要根據這些數據,進行進一步的驗證。
1. 接口會返回什么信息?
調用 wx.startSoterAuthentication() 接口所返回的數據示例如下:
小程序文檔中,已經給這些參數的具體含義做出解釋。
需要注意的是,返回值里的 resultJSON 這個參數,本身是被轉換成字符串的 JSON 對象。開發(fā)者如果需要獲取里面的內容,需要用 JSON.parse 來解析。
resultJSON 具體參數如下:
2. 如何鑒定指紋識別信息真實性?
微信官方已經放出了鑒定指紋信息的流程圖,我們可以大致了解到具體的鑒定方法。
這里我們需要提到的是「異步調用微信官方后臺驗證接口」這一步驟。在文檔中,微信團隊已經提供一個供驗證指紋信息的接口。
它的調用地址是 http://api.weixin.qq.com/cgi-bin/soter/verify_signature?access_token=%access_token(嗯,它甚至沒有使用 HTTPS……),需要使用 POST 方式傳入具體參數。

對于具體參數,文檔出只給出了這樣一行:

官方并沒有給出參數具體意義。據知曉程序(微信號 zxcx0101)猜測,這些參數具體含義應該是:

但據知曉程序測試,如果直接調用,會出現 48001 的錯誤,并提示 API 未授權,目前不知道哪些小程序可以使用這個接口驗證指紋信息。
有興趣的同學可以自行嘗試,并將結果告訴我們。
我們也希望微信官方可以繼續(xù)完善這個接口(和文檔),讓開發(fā)者更方便地利用指紋接口,開發(fā)出具有高安全性和體驗良好的小程序。
關注「知曉程序」公眾號 ??
  • 在微信后臺回復「開發(fā)」,獲取小程序全套開發(fā)經驗。

  • 在微信后臺回復「666」,加入知曉開發(fā)聯盟。


    本站是提供個人知識管理的網絡存儲空間,所有內容均由用戶發(fā)布,不代表本站觀點。請注意甄別內容中的聯系方式、誘導購買等信息,謹防詐騙。如發(fā)現有害或侵權內容,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多