微信小程序登录(包括获取不到unionid的情况)
1 1. 获取code(登录凭证,用来换取openid及session_key等) 2 wx.login({ 3 success: function(res){ 4 if(res.code){ 5 that.getNeededUserInfo(res.code); 6 }else{ 7 console.log('获取用户登录态失败!'+res.errMsg); 8 } 9 } 10 }) 11 12 2. 获取用户信息(利用wx.login返回的code获取用户的信息) 13 getNeededUserInfo: function(code){ 14 wx.request({ 15 url: 'https://my.com/login', 16 method: 'POST', 17 data: { 18 code: code // 后端通过这个code去调用微信的接口(https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code),传入参数code、appid、appsecret后获取到微信返回的unionid、openid及session_key等。(然后后端可以直接利用微信返回的信息去关联用户在自己网站的user_id) 19 }, 20 success: function(res){ 21 // 可以返回前端需要的用户信息(包括unionid、openid、user_id等) 22 } 23 }) 24 }
1. 获取code(登录凭证,用来换取openid及session_key等)wx.login({success: function(res){if(res.code){that.getNeededUserInfo(res.code);}else{console.log('获取用户登录态失败!'+res.errMsg);}}})2. 获取加密数据和加密算法初始向量 旧版本基础库调取wx.getUserInfo()可以直接获取到微信返回的encryptdata等完整数据,基础库更新之后,需要增加withCredentials属性,并将属性值设置为true时才可以获取到除用户基本信息之外的encryptedData以及iv等数据。 需要注意的是:当withCredentials值为true时,要求此前有调用过wx.login且登录态尚未过期。getEncData: function(){wx.getUserInfo({withCredentials: true,success: function(res){that.getNeededUserInfo( code, res.encryptedData, res.encryptedData );}})}3. 获取用户信息(利用wx.login返回的code获取用户的信息)getNeededUserInfo: function(code, enc, iv){wx.request({url: 'https://my.com/login',method: 'POST',data: {code: code,encryptedData: enc,iv: iv},success: function(res){// 可以返回前端需要的用户信息(包括unionid、openid、user_id等)}})}
转载于:https://www.cnblogs.com/yaoyuqian/p/8203792.html
微信小程序登录(包括获取不到unionid的情况)相关推荐
- sessionkey 微信小程序获取_微信小程序登录,获取code,获取openid,获取session_key...
微信小程序登录 wx.login(Object object) 调用接口获取登录凭证(code).通过凭证进而换取用户登录态信息,包括用户的唯一标识(openid)及本次登录的会话密钥(session ...
- java微信小程序接口openid过期_Java微信小程序登录接口获取openid
根据官方文档,wx.login()的回调函数中,需要我们传递生成的用户登录凭证到code2accessToken的接口中 小程序登录方法 code2accessToken的方法中要求传入如下参数 co ...
- uniapp - 新版本微信小程序登录、获取电话号码;后端调用微信API不必自己写调用网址【附有前后端完整代码】
uniapp文档:文档地址 1.uniapp的登录 (1)登录:通过前端获取到code,可直接调用WxMaService类的方法即可实现微信接口 uni.login({provider: 'weixi ...
- 小程序获取sessionkey_微信小程序登录并且获取sessionkey详解
随着小程序的兴起,越来越多的人都选择制作一款小程序,但是小程序开发的时候会遇到很多问题.下面小编就给大家讲解一下如何登录微信小程序并且获取sessionkey. 一.登录态维护 通过 wx.login ...
- 微信小程序登录及获取手机号码
前端:微信先授权登录后再授权获取手机号码 后端:先微信登录获取openid返回前端,前端再传递手机号码code给后端获取手机号码并在本地数据量注册用户信息,需提供2个接口 第一步:先通过code微信授 ...
- 微信小程序登录-PHP后端
微信小程序登录以及获取openid(用户唯一标识)和session_key 一.前端登录代码: //登录获取codelogin:function(){wx.login({success:functio ...
- 微信小程序python token验证_微信小程序登录对接Django后端实现JWT方式验证登录
点击授权按钮后可以显示部分资料和头像,点击修改资料可以修改部分资料. 1.使用微信小程序登录和获取用户信息Api接口 2.把Api获取的用户资料和code发送给django后端 3.通过微信接口把co ...
- 微信小程序中如何获取用户手机号授权登录
随着微信小程序的普及,许多应用程序需要用户登录才能提供更好的服务.而获取用户手机号码是验证用户身份和确保账户安全的重要步骤之一.因此,在本文中,我们将介绍如何在微信小程序中实现手机号授权登录. 步骤一 ...
- android微信登录获取微信账号,微信小程序--登录授权,一键获取用户微信手机号并登录...
一.前言 微信小程序登录流程时序 说明: 小程序调用wx.login() 获取 临时登录凭证code ,并回传到开发者服务器 开发者服务器以code换取 用户唯一标识openid 和 会话密钥sess ...
- Java实现微信小程序登录注册:获取OpenId和手机号
登录流程时序: 说明 调用 wx.login() 获取 临时登录凭证code ,并回传到开发者服务器. 调用 auth.code2Session 接口,换取 用户唯一标识 OpenID . 用户在微信 ...
最新文章
- NoSQL(一):NoSQL数据库、redis
- js 获取 屏幕 可用高度...
- IPC\DVS\DVR与NVR之间的区别
- 【Quartz】问题记录注意事项【四】
- Mybatis 拦截器
- C语言:16进制字符串转int
- 修改3389端口为3389端口
- linux集群应用实战(更新完毕)
- 虚拟环境安装python3
- 修改HDFS文件所有者
- 我的世界java致命错误_《我的世界》六个“致命错误”,最后一个“不作死就不会死”...
- 20145236《网络攻防》 Exp3 免杀原理与实践
- SSO单点登录原理详解(从入门到精通)
- 实现微信支付宝收款到账语音提醒
- 2021包膜机十大品牌排行榜
- 计算机导师问读研计划和后续计划,考研面试,问“研究生时期的规划”怎么回答急...
- html折叠段落标记,HTML 段落标记“p”与换行标记,标题标记“h”!
- matplotlib中添加水平线和垂直线
- 【LSTM实战】股票走势预测全流程实战(stock predict)
- PowerDesigner 模型生成转化为sql脚本
热门文章
- 激光计算机的基本原理和特点,3D激光传感器的原理及特点
- 三菱fx2n做从站的modbus通讯_第476期丨关于三菱PLC中除法的问题;请教一个监测电流的小物件或方法...
- 十岁陌陌更名“挚文集团”的战略新时代|财报解读
- 知到网课教师口语艺术考试题库(含答案)
- 改变PDF阅读器、CAJViewer的背景颜色
- Android NDK下载链接
- java过滤空号了停机号_手机号码空号检测
- android Google Advertising ID 如何重置
- linux libxml2编译,libxml2 ARM 交叉编译
- Junit 4 的使用