小程序如何获取用户的手机号

思路及代码展示
第一步: 用户需要调用wx.login()方法,来拿到用户登录凭证code。

wx.login({    

             success:function(res){

                          console.log('loginCode:', res.code)

                                   } 

                });

第二步.将code传给后台,后台通过登录凭证 code获取 session_key 和 openid,获取方法如下:

用你的小程序的appid,secret,code来请求下面的api(请在后台处理)

https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code

在确保code没有失效的情况下,后台会获的用户的openid和session_key


第三步.用户通过getPhoneNumber组件,引导用户确认授权。拿到encryptedData和iv。

第四步.将encryptedData和iv传给后台,后台通过解密算法(https://mp.weixin.qq.com/debug/wxadoc/dev/api/signature.html)将用户的手机号解析出来。

这个时候后台把接口解析的手机号返回给你,就拿到了~


对称解密使用的算法为 AES-128-CBC,数据采用PKCS#7填充。

对称解密的目标密文为 Base64_Decode(encryptedData)。

对称解密秘钥 aeskey = Base64_Decode(session_key), aeskey 是16字节。

对称解密算法初始向量 为Base64_Decode(iv),其中iv由数据接口返回。

(附官网登录时序图如下)

更多文章,请关注博客

评论 6
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值