当前位置: 首页 > news >正文

微信开发授权登录梳理总结

授权登录流程对比

微信公众号/网页

微信文档地址:https://developers.weixin.qq.com/doc/offiaccount/OA_Web_Apps/Wechat_webpage_authorization.html
流程图如下:
在这里插入图片描述

特殊说明:

  1. 步骤1拼接的微信地址是:https://open.weixin.qq.com/connect/oauth2/authorize?appid=APPID&redirect_uri=REDIRECT_URI&response_type=code&scope=SCOPE&state=STATE#wechat_redirect,其中参数含义如下:
    • redirect_uri:微信服务端回调的地址,微信在回调的时候会携带微信给该用户分配的授权code和此处给微信的state值。
    • state: 微信服务端回调的时候携带该参数到回调地址中。

小程序/小游戏

微信文档地址:https://developers.weixin.qq.com/miniprogram/dev/framework/open-ability/login.html
流程图如下:
在这里插入图片描述

移动应用

微信文档地址:https://developers.weixin.qq.com/doc/oplatform/Mobile_App/WeChat_Login/Development_Guide.html
流程图如下:
在这里插入图片描述
特殊说明:

  1. 步骤1、2、3、4、5、6、7原生客户端和微信客户端之间通信其实是有做一些参数校验,微信客户端校验:安卓应该是包名和签名信息校验;iOS应该是boundleid校验;原生客户端校验:通过state值匹配正确进行校验的。

微信授权登录接口及参数对比

在这里插入图片描述

总结

  1. 授权登录这一块,服务端获取微信用户信息(openid+unionid)只分小程序(小游戏)和非小程序(小游戏)两种情况。
  2. 微信公众号(网页)的时候,回调地址redirect_uri中可以设置一些关键的path参数,这样微信回调开发者服务器的时候开发者可以多得到一些参数信息。(比如:appid、关键锚点信息等)。
  3. 在配置事件回调地址的时候,也可以设置一些关键的path参数,方便业务做统一扩展。(比如:appid、程序类型信息等)。

相关文章:

  • Redis 数据过期及淘汰策略
  • 轻松创建对象——简单工厂模式(Java实现)
  • 【CORS 报错】跨域请求问题:CORS 多种环境下的解决方案
  • 《Nature》文章:ChatGPT帮助我学术写作的三种方式
  • Java版Flink使用指南——将消息写入到RabbitMQ的队列中
  • Spring——自动装配Bean
  • 编程语言一般学几种语言:探索编程语言的广度与深度
  • 商家为何疯狂送钱?用户如何省钱?一篇文章带你了解!
  • Qt图形编辑类使用总结
  • # 数仓建模:如何构建主题宽表模型?
  • 2.4G芯片开发的遥控玩具方案介绍 东莞酷得
  • Ubuntu中sqlite的使用方法
  • vue3+vite搭建第一个cesium项目详细步骤及环境配置(附源码)
  • Vue3 + Vite项目使用SVG图片
  • OLED柔性显示屏的金线封装胶
  • 《网管员必读——网络组建》(第2版)电子课件下载
  • 2017前端实习生面试总结
  • Docker 笔记(2):Dockerfile
  • ES6核心特性
  • Git的一些常用操作
  • Java 实战开发之spring、logback配置及chrome开发神器(六)
  • Java多态
  • jquery ajax学习笔记
  • Js基础——数据类型之Null和Undefined
  • react 代码优化(一) ——事件处理
  • scala基础语法(二)
  • storm drpc实例
  • Swift 中的尾递归和蹦床
  • Swoft 源码剖析 - 代码自动更新机制
  • 程序员最讨厌的9句话,你可有补充?
  • 微信端页面使用-webkit-box和绝对定位时,元素上移的问题
  • 微信小程序填坑清单
  • 携程小程序初体验
  • 一道面试题引发的“血案”
  • 译米田引理
  • 原生 js 实现移动端 Touch 滑动反弹
  • 继 XDL 之后,阿里妈妈开源大规模分布式图表征学习框架 Euler ...
  • ​【经验分享】微机原理、指令判断、判断指令是否正确判断指令是否正确​
  • ​软考-高级-系统架构设计师教程(清华第2版)【第12章 信息系统架构设计理论与实践(P420~465)-思维导图】​
  • # .NET Framework中使用命名管道进行进程间通信
  • # 数仓建模:如何构建主题宽表模型?
  • #多叉树深度遍历_结合深度学习的视频编码方法--帧内预测
  • #基础#使用Jupyter进行Notebook的转换 .ipynb文件导出为.md文件
  • #考研#计算机文化知识1(局域网及网络互联)
  • $.ajax中的eval及dataType
  • (8)Linux使用C语言读取proc/stat等cpu使用数据
  • (done) NLP “bag-of-words“ 方法 (带有二元分类和多元分类两个例子)词袋模型、BoW
  • (Pytorch框架)神经网络输出维度调试,做出我们自己的网络来!!(详细教程~)
  • (翻译)Quartz官方教程——第一课:Quartz入门
  • (原創) 未来三学期想要修的课 (日記)
  • (转)负载均衡,回话保持,cookie
  • (转)使用VMware vSphere标准交换机设置网络连接
  • (转载)PyTorch代码规范最佳实践和样式指南
  • ***监测系统的构建(chkrootkit )
  • .NET CLR Hosting 简介