微信小程序的一键授权登录。

2023-10-27

微信小程序的授权登录

首先你需要知道微信小程序官网提供的授权登录流程,附上网址(官网流程图

分析得到

前端(即小程序端)需要做的事情。:

  1. 通过wx.login() 获取code值,
  2. 通过后端提供的API接口,使用 wx.request把code值发送后端
  3. 通过wx.request的success方法,接受到后端返回的自定义登录态,并保存起来,可能别的API接口需要登录态。

后端需要做的事情。

  1. 后端接受到code之后,通过微信服务器接口来换取oppenid(用户唯一标识)、session_key(会话密钥)和UnionID,主要是oppenid与session_key。
  2. 后端自定义登录态与oppenid、session_key关联。
  3. 后端返回自定义登录态给前端。

注意点

  1. 获取用户头像、昵称、性别及地区信息,需要使用wx.getUserProfile接口
  2. 如果用户登录成功之后,再次调用wx.login接口,用户的session_key(会话密钥)可能会被更新而致使旧session_key失效,从而导致校验失败,具体请看微信小程序官网介绍----会话密钥 session_key 有效性这一介绍。网址链接

部分代码

<button bind:tap="getInfo">获取用户信息</button>
  getInfo() {
    wx.getUserProfile({
      lang: 'zh_CN',
      desc: '用于完善会员资料',
      success: async res => {
        let code = await this.getCode()
        wx.request({
          url:'',
          data:{
            code:code
          },
          method:'get',
          success:res=>{
            // 从res里面获取登录态,并保存待用
          }
        })  
      }
    })
  },
  getCode() {
    return new Promise((resolve, reject) => {
      wx.login({
        success: res => {
          resolve(res.code)
        }
      })
    })
  },
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

微信小程序的一键授权登录。 的相关文章

  • 嵌入式系统中的“四个地址”

    1 物理地址 计算机在运行程序时 需要对代码指令及相关数据进行保存 而这些数据将会保存到内存 包括RAM和ROM 中 为了能够在读取数据时 可以直接找到数据的位置所在 因此 会对内存进行编号 从0开始顺序编号 直到其支持的最大存储单元 物理
  • 防止SQL注入的五种方法

    一 SQL注入简介 SQL注入是比较常见的网络攻击方式之一 它不是利用操作系统的BUG来实现攻击 而是针对程序员编程时的疏忽 通过SQL语句 实现无帐号登录 甚至篡改数据库 二 SQL注入攻击的总体思路 1 寻找到SQL注入的位置 2 判断
  • Topaz Photo AI for Mac v1.3.1,图像智能ai降噪软件

    Topaz Photo AI是一款适用于Mac的图像处理软件 它使用人工智能技术对照片进行编辑和优化 该软件提供了多种强大的功能 帮助用户轻松地改善图像质量 并实现自定义的效果 Topaz Photo AI支持多种文件格式 包括JPEG T
  • css web页面实现一个弹窗

    div 基本层级 div class pc invest join container div class bg wrap div class place hold div div class top container div class
  • go 类型断言

    1 什么是类型断言 由于 interface 是 一般类型 不是具体类型 如果要转成具体类型 就需要使用类型断言 直接将 x 的值 赋给 a 是不可以的 编译前检查都过不去 断言后可成功赋值 输出结果为 5 2 带检查的类型断言 类型断言有
  • 继承和方法重写

    目录 继承的基本概念 super关键字 1 使用super关键字调用父类成员 子类对象 实例化子类对象 方法重写 方法重写特点 继承的基本概念 1 继承是面向对象的三大特征之一 继承可以解决编程中代码冗余的问题 是实现代码重用的 重要手段之
  • 第五章、ROS常用组件

    第五章 ROS常用组件 TF坐标变换 实现不同类型的坐标系之间的转换 rosbag 用于录制ROS节点的执行过程并可以重放该过程 rqt 工具箱 集成了多款图形化的调试工具 可实现的案例 roslaunch turtle tf2 turtl
  • 熄灯问题

    公众号 CppCoding 题目描述 include

随机推荐

  • VMD-LSTM的数据回归预测(主要应用于风速,负荷,功率)

    VMD LSTM预测 clc clear all close all warning off restoredefaultpath tic 导入数据 ff xlsread windspeed xls B2 B1001 ff ff data
  • 利用lambda表达式为槽函数传递参数20221021

    利用lambda表达式为槽函数传递参数 lambda是匿名函数 lambda 参数 函数体 fun lambda print 我是没有参数的lambda函数 fun 我是没有参数的lambda函数 fun xy lambda x y pri
  • @那些想要转行AI的人:送你一份人工智能入门指南

    人工智能是什么 人工智能为何重要 我们应该畏惧人工智能吗 为什么突然之间所有人都在谈论人工智能 你可能会从网上知道人工智能如何为亚马逊和Google的虚拟助理提供支持 或者人工智能如何一步步地取代所有的工作 有争议的 但是这些文章极少很好的
  • Qt(2):MOC文件解析

    在Qt下 从QObject派生的类都会生成moc 文件 1 比如现在有2个文件 qmyobject h和qmyobject cpp 它里面有一个类QMyObject 记为版本A cpp view plain copy print class
  • hadoop中的ssh无密码登录配置

    目标 在配置hadoop分布式安装过程中 需要配置ssh的无密码登录 在组建hadoop集群的时候 需要多台实体机进行通信 发送或者读取数据 namenode和datanode之间 就是借助ssh 在通信过程中如果需要操作人员频繁输入密码是
  • 域名服务器从k8s访问不稳定,使用云厂商托管K8S时容器域名解析注意事项

    云厂商托管 Kubernetes 服务的 Pod 域名解析注意事项 使用云厂家提供托管式Kubernetes Pod的域名解析参数 通过界面创建Pod的话 可能厂商界面没有开放dnsConfig配置 采用了一些默认值 在使用时候 需要了解清
  • 人工智能与伦理问题浅谈

    第一章 绪论 一 提出问题 人工智能 Artificial Intelligence 缩写为AI 一词 是在1956年的达特茅斯会议上被首次提出来的 作为一门新兴的交叉学科 人工智能在当今脑科学 认知科学飞速发展的基础下 被称为本世纪三大科
  • element中table组件使用多级表头后在点击事件中为变量赋值会出现抖动

    出现情况 一般出现在表头中设置了v if v if的表头在更新数据时自动重新计算一次宽高 解决方法 为表格设置doLayout方法 更新数据前重写表格样式 不在重新计算宽高 beforeUpdate this nextTick gt 在数据
  • springboot国际化配置中英文切换

    1 新建项目 第一步新建springboot项目 勾选web依赖 或者后面进入在pom xml中加入也可以 2 项目结构 项目pom xml
  • 今日笔记:关于Symbol(Symbol.iterator)的使用笔记

  • 【问题及解决】win11 vmware创建虚拟机之后电脑和虚拟机都变得特别卡

    由于之前用的是wsl ubuntu发现编译SDK一直失败 别人提示改用VMware创建虚拟机 所以在win上的这里 控制面板 程序 启用或关闭windows功能 关闭了原来勾选的 适用于Linux的Windows子系统 和 虚拟机平台 并且
  • python的一些技巧和知识点(二)

    书接上文 这篇再记录10条我觉得有用的 虽然没多少人看 但我相信还是会帮助到一部分人的 哪怕是个位数也好 此外 就当作自己的记录吧 没有看过第一篇的朋友点击这里 1 正确复制一个列表 假设有一个列表a 之后需要复制一份儿这个列表 新列表记作
  • 算法之路-------差分数组

    这里写目录标题 差分数组的由来 差分数组的具体使用 具体题目 差分数组的由来 针对数组中连续的大量数据进行修改的问题 如果我们对每个数据都进行依次修改 对于一些少量的数据的修改 例如 1 100这些的 修改的时候我们发现速度貌似还是很快的
  • ABB技术参考手册、RAPID指令、函数和数据类型

    地址 https download csdn net download weixin 47816096 87575468
  • 搭建DVWA漏洞环境靶场

    一 DVWA简介 DVWA是一款开源的渗透测试平台 包含Brute force 暴力破解 XSS CSRF SQL注入 文件上传与下载等漏洞 并分各个等级难度的测试环境 DVWA链接 网盘自取 链接 https pan baidu com
  • 妙借Git自带的OpenSSL生成RSA公私钥的.pem 文件

    大家好 我是神韵 是一个技术 生活博主 出文章目的主要是两个 一是好记忆不如烂笔头 记录总结中提高自己 二是希望我的文章可以帮到大家 欢迎来点赞打卡 你们的行动将是我无限的动力 本篇主题是 妙借Git自带的OpenSSL生成RSA公私钥的
  • 一分钟掌握数据库垂直拆分

    转自 2016 12 20 58沈剑 一 缘起 当数据库的数据量非常大时 水平切分和垂直拆分是两种常见的降低数据库大小 提升性能的方法 假设有用户表 user uid bigint name varchar 16 pass varchar
  • 好玩的 CSS - 40 个有趣的 CSS 网站

    好玩的 CSS 40 个有趣的 CSS 网站 基础学习 cssreference io CSS 参考书 chokcoco github io CSS Inspira CSS 灵感 www awwwards com sites zero UI
  • 【C/C++】g++ 与 gcc的区别

    博 主 米码收割机 技 能 C Python语言 公众号 测试开发自动化 获取源码 商业合作 荣 誉 阿里云博客专家博主 51CTO技术博主 专 注 专注主流机器人 人工智能等相关领域的开发 测试技术 C C g 与 gcc的区别 目录 C
  • 微信小程序的一键授权登录。

    微信小程序的授权登录 首先你需要知道微信小程序官网提供的授权登录流程 附上网址 官网流程图 分析得到 前端 即小程序端 需要做的事情 通过wx login 获取code值 通过后端提供的API接口 使用 wx request把code值发送