下面,知晓程序(微信号 zxcx0101)将根据官方文档,教大家如何正确地在小程序中,调用指纹识别。
关注「知晓程序」微信公众号,回复「开发」,获取小程序全套开发经验教程。
在小程序中,微信为指纹识别提供了两个接口:
wx.checkIsSupportSoterAuthentication()
wx.startSoterAuthentication()
wx.checkIsSupportSoterAuthentication()
接口和 wx.canIUse()
接口,我们可以检测小程序在当前设备上,是否可以使用指纹识别。具体代码如下:
supportMode
参数,里面包裹一个数组。
'fingerPrint'
,那么就代表当前设备可以使用指纹识别功能。需要注意的是,如果用户的设备不支持指纹验证,你应该为用户提供替代验证方式。
示例的代码如下:
requestAuthModes
:允许的生物鉴权方式,以数组的形式呈现。需要指纹识别,只需填入 'finerPrint'
。
challenge
:官方称为「挑战因子」,可以将请求特征码(订单号、请求编号等)放入,确认用户的是授权哪一个请求。
authContent
:在指纹识别的对话框中,向用户显示的提示信息。
将两个接口合并起来用,最终我们的代码效果如下:
wx.startSoterAuthentication()
接口后,微信会向小程序返回指纹识别数据。开发者需要根据这些数据,进行进一步的验证。wx.startSoterAuthentication()
接口所返回的数据示例如下:
resultJSON
这个参数,本身是被转换成字符串的 JSON 对象。开发者如果需要获取里面的内容,需要用 JSON.parse
来解析。resultJSON
具体参数如下:http://api.weixin.qq.com/cgi-bin/soter/verify_signature?access_token=%access_token
(嗯,它甚至没有使用 HTTPS……),需要使用 POST 方式传入具体参数。对于具体参数,文档出只给出了这样一行:
48001
的错误,并提示 API 未授权,目前不知道哪些小程序可以使用这个接口验证指纹信息。在微信后台回复「开发」,获取小程序全套开发经验。
在微信后台回复「666」,加入知晓开发联盟。
联系客服