前言
小程序内可以直接通过授权获取用户微信号绑定的手机号码或用户添加的其他手机号码,这样可以使得小程序在进行账户的身份可控上又提高了一步,那么应该如何来获取手机号码呢?这篇文章就和大家一起来研究一下。
/>
前提
值得注意的是,如果您要获取手机号码首先要满足如下要求:
注意:目前该接口针对非个人开发者,且完成了认证的小程序开放(不包含海外主体)。需谨慎使用,若用户举报较多或被发现在不必要场景下使用,微信有权永久回收该小程序的该接口权限。 – 微信开发平台
正文
获取授权信息
首先,我们需要使用button组件,其open-type的值要设置为getPhoneNumber,可参考button · 小程序,然后绑定bindgetphonenumber的回调函数,在用户点击按钮,弹起的授权框允许授权之后回调函数内会返回一个event的对象,在其对象的detail下分别存在两个值(可参考《获取手机号 · 小程序》):
参数
类型
说明
encryptedData
String
包括敏感数据在内的完整用户信息的加密数据
iv
String
加密算法的初始向量
接下来我们要模拟一次登录,调用wx.login,然后再授权成功的回调中获取授权code值,接着将上述的encryptedData与iv一并传送至服务端,接下来就开始进行服务端解密过程。
服务端解密
服务端接收到encryptedData、iv与code值之后,进