微信小程序获取用户信息

微信小程序获取用户手机号码(类似膜拜手机号授权),自己写的程序也用到了,查看微信小程序文档,原来微信提供了方法, <button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"> </button> 直接就可以 调取微信的授权方法如下图:

授权图片

具体方法如下

流程图.png

1.客户端调用wx.login,返回数据包含了js_code,用于获取openid(用户唯一标识)和sessionkey(会话密钥)。 2.拿到js_code后,将其发送给服务端,服务端拿它与微信服务端做交互获取openid和sessionkey。(也可以自己直接调用微信的接口,openid和sessionkey) (1)自己拿拿数据的方法 需要的参数为(appid,secret,js_code) wx.request({ url: 'https://api.weixin.qq.com/sns/jscode2session?appid=' + appId + '&secret=' + secret + '&js_code=' + code + '&grant_type=authorization_code', data: {}, header: { 'content-type': 'json' }, success: function (res) { var openid = res.data.openid //返回openid var session_key = res.data.session_key//返回session_key } }) (2). 服务器拿数据的方法 服务器拿数据的方法,更是简单:直接用js_code调用服务器的方法,服务器直接返回openid和sessionkey。(推荐用第二种方法,因为appid,secret保存到后台比较安全)

3.当用户点击了绑定用户手机号码<button>,微信调用方法: Page({ getPhoneNumber: function(e) { console.log(e.detail.errMsg) console.log(e.detail.iv) console.log(e.detail.encryptedData) //加密的用户信息 } }) 具体可以看一下文档https://mp.weixin.qq.com/debug/wxadoc/dev/api/getPhoneNumber.html,(拿session_key和encryptedData、vi解密手机号) 解密:微信提供了几种方法,让自己的服务器解密,最终拿到的格式为:

屏幕快照 2018-03-10 下午4.32.37.png

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏我是攻城师

Hadoop2.7.1和Hbase0.98添加LZO压缩

2817
来自专栏专知

Python网络爬虫与信息抽取笔记02 HTTP协议介绍

1192
来自专栏FreeBuf

NSA(美国国安局)泄漏Exploit分析

*本文原创作者:tigerlab,本文属FreeBuf原创奖励计划,未经许可禁止转载 2016年8月16日,黑客团伙“The Shadow Brokers”声称...

2169
来自专栏24K纯开源

Windows下程序打包发布时的小技巧

一、背景     Windows下开发的应用程序在发布时,需要将其依赖的一些动态链接库一起打进安装包里面去。这个时候,快速确定这个程序到底依赖哪些动态链接库变得...

2066
来自专栏ImportSource

GitHub不count contributions的解决办法

最近在github上提交代码,发现push上去代码以后,在Public activity 里是有记录的,如下: ? 但在Contribution activi...

3146
来自专栏Spark学习技巧

高性能:MYSQL异步客户端

实时处理领域,当需要使用外部存储数据染色的时候,需要慎重对待,不能让与外部系统之间的交互延迟对流的整个进度取决定性的影响。

832
来自专栏calvin

net core 程序docker打包镜像并发布到官方store

学习一个技术的第一步,总是要先打印或显示一个hello world的。当然,学习docker也不例外。上一篇文章已经简单的介绍了环境的安装和配置。接下来就要打印...

792
来自专栏散尽浮华

手动编写的几个简单的puppet管理配置

puppet在自动化配置管理方面有很强大的优势,这里就不做过多介绍了,下面记录下几个简单的puppet管理配置: 一、首先在服务端和客户端安装puppet和fa...

2698
来自专栏逸鹏说道

CSharp for Jupyter Notebook

之前说有机会就说下Linux下如何搭建C#版的交互编程,今天写篇文章还债^_^ Win下比较简单,可以自己看官方文档https://github.com/zab...

1673
来自专栏企鹅号快讯

用 Identity Server 4 来保护 Python web api

项目的早期后台源码: https://github.com/solenovex/asp.net-core-2.0-web-api-boilerplate 下面开...

2179

扫码关注云+社区