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

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

作者头像
玖柒的小窝
修改于 2021-09-30 02:27:30
修改于 2021-09-30 02:27:30
2.4K00
代码可运行
举报
文章被收录于专栏:各类技术文章~各类技术文章~
运行总次数:0
代码可运行

授权

授权获取用户openid、session_key、unionid

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

wx.login

uni.login

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
服务端请求该地址获取 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
代码运行次数:0
运行
AI代码解释
复制
<button open-type="getPhoneNumber" bindgetphonenumber="getPhoneNumber"></button>

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

后端解密

服务端获取开放数据文档

服务端 例子

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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 删除。

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
微信小程序获取用户信息
在微信小程序中,如果想获取用户的昵称等信息可以不用另外写后台,如果需要获取用户的unionId,则需要后台来提供获取sessionKey和解码encryptedData。
OECOM
2020/07/01
3.4K0
微信小程序如何获取用户手机号 ?
1、小程序端调用 wx.login() 方法,获取 code 后,将 code 通过后台 api 接口传递到后台。
热心的程序员
2020/03/20
9.2K2
​微信小程序如何获取用户手机号 ?
1、小程序端调用 wx.login() 方法,获取 code 后,将 code 通过后台 api 接口传递到后台。
热心的程序员
2020/03/09
12.2K1
​微信小程序如何获取用户手机号 ?
微信小程序获取用户信息
微信小程序获取用户手机号码(类似膜拜手机号授权),自己写的程序也用到了,查看微信小程序文档,原来微信提供了方法, <button open-type="getPhoneNumber" bindget
honey缘木鱼
2018/06/13
19.2K1
uniapp微信小程序获取用户手机号
价值产生信心,信心产生热忱,而热忱则征服世界。——华特·H·柯亭姆 我们在uniapp开发中有时会需要获取用户的手机号 可以在官方文档找到对应的方法 这里注意一点,只能通过button进行点击获取 但我们这样获取到后还需要解密 比如我这里获取到的 <template> <view><button open-type="getPhoneNumber" @getphonenumber="getPhoneNumber">点我获取手机号</button></view> </template> <
阿超
2022/08/16
3K0
uniapp微信小程序获取用户手机号
微信小程序的修炼五脉(如意篇上)
由于传播、利用此文所提供的信息而造成的任何直接或者间接的后果及损失,均由使用者本人负责,雷神众测以及文章作者不为此承担任何责任。 雷神众测拥有对此文章的修改和解释权。如欲转载或传播此文章,必须保证此文章的完整性,包括版权声明等全部内容。未经雷神众测允许,不得任意修改或者增减此文章内容,不得以任何方式将其用于商业目的。
公众号爱国小白帽
2021/06/16
2.1K0
微信小程序的修炼五脉(如意篇上)
微信小程序 获取手机号 JS
本文原创首发CSDN,链接 https://blog.csdn.net/qq_41464123/article/details/105214094 ,作者博客https://blog.csdn.net/qq_41464123 ,转载请带上本段内容,尤其是脚本之家、码神岛等平台,谢谢配合。 ----
Designer 小郑
2023/08/01
1.5K0
微信小程序 获取手机号 JS
小程序同步微信步数
小程序获取微信运动步数,咱们看文档:https://developers.weixin.qq.com/miniprogram/dev/api/open-api/werun/wx.getWeRunData.html
php007
2019/08/08
3.7K0
小程序同步微信步数
微信小程序中针对微信基础库新旧不同版本获取用户手机号的方法
https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/getPhoneNumber.html
跟着飞哥学编程
2022/11/30
2.2K0
微信小程序中针对微信基础库新旧不同版本获取用户手机号的方法
TP框架集成微信小程序getPhoneNumber获取手机号功能
小程序中也有使用手机号作为验证手段的地方,今天又写了一个接入考拉信用查询个人信用分的项目,封装成为小程序,查询信用分需要手机号、姓名、身份证号,所以我直接使用微信官方给提供的 API 直接调用微信绑定的手机号, 也省得发送验证码的钱了~ 这个集成之前写小程序的时候就已经写好了,今天发出来。  说明 获取微信用户绑定的手机号,需先调用login接口。 因为需要用户主动触发才能发起获取手机号接口,所以该功能不由 API 来调用,需用 <button> 组件的点击来触发。 注意:目前该接口针对非个人开发者,且完成
沈唁
2018/05/24
2.5K0
微信小程序获取unionid与openid
unionid来区分用户的唯一性,在相同微信开放平台帐号下的移动应用、网站应用、小程序、公众号,用户的unionid是唯一的。也就是说,同一用户,对同一个微信开放平台下的不同应用,unionid是相同的。
ITer.996
2019/08/28
6.6K0
微信小程序获取unionid与openid
.Net之微信小程序获取用户UnionID
  在实际项目开发中我们经常会遇到账号统一的问题,如何在不同端或者是不同的登录方式下保证同一个会员或者用户账号唯一(便于用户信息的管理)。这段时间就有一个这样的需求,之前有个客户做了一个微信小程序商城(店主端的),然后现在又要做一个会员购物端的小程序商场。首先之前用户登录凭证都是使用微信openid来做的唯一标识,而现在客户需求是要做到用户在会员端小程序跳转到到店主端小程序假如之前该用户微信是在店主端审核通过的用户则不需要在进行资料提交审核操作,直接登录。所以,所以我们使用了UnionID来进行关联,如下是我们现在项目的基本流程(画的丑莫见怪)。
追逐时光者
2019/09/11
1.8K0
.Net之微信小程序获取用户UnionID
【微信小程序】如何获取用户绑定手机号
用户调用wx.login()方法,获取登录用户凭证code wx.login({ success: function(res) { console.log('loginCode', res.co
达达前端
2019/07/18
5.1K1
【微信小程序】如何获取用户绑定手机号
微信小程序登录方法,授权登陆及获取微信用户手机号
 ✅作者简介:              大家好五一快乐,我是痴心阿文,你们的学友哥,今天给大家分享微信小程序登录方法! 📃个人主页:痴心阿文的博客_CSDN博客-TypeScript.js,笔记,CSS领域博主 🔥本文前言:微信小程序登录方法,授权登陆及获取微信用户手机号 💖如果觉得博主的文章有帮到你的话,请👍支持一下博主哦🤞   🍉🍉🍉先看一下小程序的登陆流程 使用说明注意:     调用 auth.code2Session 接口,换取 用户唯一标识 OpenID 、
痴心阿文
2022/11/18
8910
微信小程序登录方法,授权登陆及获取微信用户手机号
Taro框架实现微信登录及获取手机号和用户信息
import React , { useState } from "react"; import { Button, Image, Toast } from "@taroify/core"; import Taro from "@tarojs/taro"; import wechatApi from "../api/wechat"; import WXBizDataCrypt from "../utils/WXBizDataCrypt"; function WechatLoginComponent() {
你的明明呐丶
2023/01/03
4.7K0
Thinkphp5实现小程序授权获取手机号码
使用Thinkphp框架开发接口,小程序授权获取微信用户绑定的手机号码,全网最简单的方式。
程序猿的栖息地
2022/04/29
1.4K0
Thinkphp5实现小程序授权获取手机号码
小程序(3):授权登录
判断是否授权,如果没有,则显示授权按钮。注意上面的open-type="getUserInfo",这个会自动调起授权框。看一下js
小尘哥
2018/08/15
2.1K0
【愚公系列】2022年09月 微信小程序-微信小程序实现网页一键登录功能
如果微信小程序要获取微信登录的用户信息,需要拿到code去后台换取用户信息,具体步骤又如下:
愚公搬代码
2022/10/05
1.7K0
微信小程序+php 授权登陆,完整代码
1、授权登陆按钮和正文信息放到了同一个页面,未授权的时候显示登陆按钮,已授权的时候隐藏登陆按钮,显示正文信息,当然也可以授权和正文分开成两个页面,在授权页面的onload里判断是否已授权,若已授权就直接跳转正文的页面。这里只说授权按钮和正文在同一页面的情况。
全栈程序员站长
2022/09/07
2.1K0
微信小程序+php 授权登陆,完整代码
微信小程序授权获取用户详细信息openid
Incorrect string value: ‘\xF0\x9F\x98\x83 <…’ for column ‘summary’ at row 1
李才哥
2019/07/10
5.8K0
微信小程序授权获取用户详细信息openid
推荐阅读
相关推荐
微信小程序获取用户信息
更多 >
LV.9
这个人很懒,什么都没有留下~
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验