前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >微信小程序授权 获取用户基本信息

微信小程序授权 获取用户基本信息

作者头像
玖柒的小窝
修改2021-09-30 10:27:30
2.1K0
修改2021-09-30 10:27:30
举报
文章被收录于专栏:各类技术文章~各类技术文章~

授权

授权获取用户openid、session_key、unionid

1.调用微信接口 wx.login 获取登录凭证(code)

wx.login

uni.login

代码语言:javascript
复制
wx.login({
  success (res) {
    if (res.code) {
      // 拿到code 请求 自定义 下文 2中 服务端(开发者服务器) 获取 openid、session_key、unionid
    } else {
      console.log('登录失败!' + res.errMsg)
    }
  }
})
复制代码

2.服务端(开发者服务器)接收到 临时登录凭证 code 调用微信接口

代码语言:javascript
复制
服务端请求该地址获取 openid、session_key、unionid,返回给客户端
GET https://api.weixin.qq.com/sns/jscode2session?appid=APPID&secret=SECRET&js_code=JSCODE&grant_type=authorization_code
复制代码

auth.code2Session 参数说明

3.获取用户 头像、昵称、国家、省份、性别等

文档地址

需要用户主动触发,button open-type 的值设置为 getPhoneNumber

代码语言:javascript
复制
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button>

...
getPhoneNumber(e){
    这里拿到 encryptedData 和 iv 加上 上方获取openid时 拿到 sessionKey 传给 服务端(开发者服务器)进行解密获取 结果
}
复制代码

后端解密

image
image

服务端获取开放数据文档

服务端 例子

代码语言:javascript
复制
var WXBizDataCrypt = require('./WXBizDataCrypt')

var appId = '**************'
var sessionKey = '*****************'
var encryptedData = 
	'CiyLU1Aw2KjvrjMdj8YKliAjtP4gsMZM'+
	...
        ...
	'20f0a04COwfneQAGGwd5oa+T8yO5hzuy'+
	'Db/XcxxmK01EpqOyuxINew=='
var iv = 'r7BXXKkLb8qrSNn05n0qiA=='
// sessionKey、encryptedData、iv 都是 接收 客户端的传值
var pc = new WXBizDataCrypt(appId, sessionKey)

var data = pc.decryptData(encryptedData , iv)

console.log('解密后data: ', data)

// 解密后的返给客户端的数据为
//
// data = {
//   "nickName": "Band",
//   "gender": 1,
//   "language": "zh_CN",
//   "city": "Guangzhou",
//   "province": "Guangdong",
//   "country": "CN",
//   "avatarUrl": "http://wx.qlogo.cn/mmopen/vi_32/aSKcBBPpibyKNicHNTMM0qJVh8Kjgiak2AHWr8MHM4WgMEm7GFhsf8OYrySdbvAMvTsw3mo8ibKicsnfN5pRjl1p8HQ/0",
//   "unionId": "**************",
//   "watermark": {
//     "timestamp": 1477314187,
//     "appid": "****************"
//   }
// }

本文系转载,前往查看

如有侵权,请联系?cloudcommunity@tencent.com 删除。

本文系转载前往查看

如有侵权,请联系?cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 授权
    • 授权获取用户openid、session_key、unionid
      • 1.调用微信接口 wx.login 获取登录凭证(code)
      • 2.服务端(开发者服务器)接收到 临时登录凭证 code 调用微信接口
      • 3.获取用户 头像、昵称、国家、省份、性别等
      • 后端解密
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
http://www.vxiaotou.com