微信小程序开发---微信获取微信绑定手机号并登录流程
一、微信原生提供的获取用户手机号并且登陆的主要步骤
- 调用wx.login()获得code
wx.login({success: function(res){console.log(res.code)}
})
开发者使用code在微信服务器调用接口获得openid,session_key,unionid
(https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html)使用手机号登录
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"> </button>
当用户点击并同意之后,可以通过 bindgetphonenumber 事件回调获取到微信服务器返回的加密数据, 然后在第三方服务端(你自己的服务器)结合步骤2中获得的 session_key 以及 app_id 进行解密获取手机号。
微信处理用户登陆通常的做法:
是前端拿到code和用户加密的登陆信息传递给后端提供的解密接口,后台使用前端的code去换取该用户的唯一标识(openid)及本次登录的会话密钥(session_key)来对用户加密数据进行解密,然后获取用户手机号,同你们app中的注册用户进行关联,保证小程序中的账号和app账号想通,并通知前端用户登陆成功。
getPhoneNumber: function (e) {wx.login({success(res){wx.request({url: 'https://你的解密地址',data: {'encryptedData': encodeURIComponent(e.detail.encryptedData),'iv': e.detail.iv,'code': res.code}}),method: 'POST',header: {'content-type':'application/json'}, success: function (res) {if (res.status ==1) {//我后台设置的返回值为1是正确//存入缓存即可wx.setStorageSync('phone', res.phone);}},fail: function (err) {console.log(err);}})}})}
}
后台接口怎么解析,需要参考微信提供的方法:下载示例
参考文档 :https://blog.csdn.net/weixin_41818665/article/details/79509792
微信小程序开发---微信获取微信绑定手机号并登录流程相关推荐
- php网页抓取浏览者手机号码_微信小程序开发之获取用户手机号码(php接口解密)...
后边要做一个微信小程序,并要能获取用户微信绑定的手机号码.而小程序开发文档上边提供的获取手机号码的接口(getPhoneNumber())返回的是密文,需要服务器端进行解密,但是官方提供的开发文档一如 ...
- 微信小程序开发提示“获取手机号码失败 ERROR:该appid没有权限”解决方案
关于微信小程序开发提示"获取手机号码失败, ERROR:该appid没有权限"的解决方案 一般这种情况的出现都是出现在二次开发上面,原开发人员变动,不在开发该程序.新人在接手这个程 ...
- 基于微信小程序开发的仿微信demo
(本文参考自github/liujians,地址:https://github.com/liujians/weApp) 作者声明: 基于微信小程序开发的仿微信demo 整合了ionic的样式库和we ...
- 微信小程序开发工具 清除授权缓存/文件缓存/登录缓存等等
今天2.19.3.25 在开发微信小程序时,作为测试号想清除授权缓存,一直没有找到方法, 最后无意中看到了解决方法 微信小程序开发工具 清除授权缓存/文件缓存/登录缓存等等.完美解决
- 视频教程-微信小程序开发培训教程-微信开发
微信小程序开发培训教程 本人计算机专业,毕业工作已经10多年,从事过的行业有,安防,通讯,Gps定位,信息统计分析,互联网电商等,从事过的职位. 代码工程师(使用过的语言C#,PHP,Java),Ap ...
- 微信小程序开发:获取位置打开地图
目录 01 准备工作 02 小程序基础知识 微信小程序的四种类型的文件 app.json app.js app.wxss app.wxml 目录树 03 获取位置打开地图 参考 效果 程序说明 04 ...
- 微信小程序开发语言(微信小程序开发教程)详细步骤
微信小程序开发语言 开发微信小程序用什么语言 1.微信小程序开发所需要的语言比较特别,首先介绍一下需要使用到的文件类型大致分为:WXML(WeiXin Mark Language 微信标记语言).WX ...
- 微信小程序 开发 “婚礼邀请函” 微信小程序入门可看
成品展示: 5个页面 我们来讲解哈(上面地图位置随便定的点) 1.首页开发 一开始进来显示首页 然后默认开始播放背景音乐,这个背景音乐点击右上角图标可以暂停(有动画),然后点击新郎和新娘文字可以调到 ...
- 微信小程序案例:获取微信访问用户的openid
在微信开发项目中,获取openid是项目常遇的问题,本文通过主要讲解实现在微信小程序中如何获取用户的openid,案例实现非常简单 具体实现方法是通过登录接口获取登录凭证,然后通过request请求微 ...
- 微信小程序开发——MySQl存储微信昵称的特殊表情
项目场景: 最近再写一个微信小程序涉及到获取用户的昵称等信息,起初的时候一切进展顺利,但测试的时候发现一个问题,我们的一位同学始终不能正常授权信息,查询数据库也没有相关的信息.刚开始认为是手机问题或者 ...
最新文章
- 设计模式 之美 -- 面向对象(C/C++分别实现)
- ubuntu 14.04 双显卡安装NVIDIA GPU驱动+CUDA+编译配置caffe
- pandas基于元组列表(list of tuples)、列表词典(dictionary of lists)、词典列表(list of dictionaries)构建dataframe数据实战
- php $s=#039;kkk#039; if($s==0),之前收集到的PHP总结笔记
- Linux Mint 18.2 Sonya 将于 6 月上旬发布公测版本
- 分布式表格系统Google Bigtable详解
- tensorflow-eagerAPI
- Android 百度地图开发(一)
- matlab som聚类算法,使用SOM对数据进行聚类
- 【C++基础】C++11的noexcept声明符 与 异常传播
- 新浪的股票接口 c#
- nohub java -jar xx.jar /dev/null 21
- lammps教程:NEMD方法计算热导率公式详解
- sony a7 android,摄影 篇一:SONY A7R4利用ftp传输直传照片到安卓设备,完爆app体验
- 清理git本地帐户信息
- PS cc 2018安装教程
- OpenCV实践之路——方形图片对角线切割
- 2020FME博客大赛——基于FME利用高德路径规划AP实现公共服务设施可达性分析——以厦门山海健康步道为例
- Object Detection(目标检测神文)(二)
- ubuntu安装eclips