微信公众号-后端架构设计
通过微信公众号-接口测试流程基本了解了公众号网页授权的流程,下面通过工程实现用户访问授权网页、获取微信用户信息.
微信网页授权流程
以下5点微信开发文档上有具体说明
- 用户同意授权,获取code
- 通过code换取网页授权access_token
- 刷新access_token(如果需要)
- 拉取用户信息(需scope为 snsapi_userinfo)
- 检验授权凭证(access_token)是否有效
在微信的自定义菜单中配置跳转到第三方地址 https://static-a8b78395-4840-40cd-a425-8373e6fee47a.bspapp.com/#/pages/uform/redirect?id=example
- 用户通过微信公众号发起页面请求
- 提前配置好的第三方地址,访问该地址,微信内部浏览器跳转到https://static-a8b78395-4840-40cd-a425-8373e6fee47a.bspapp.com/#/pages/uform/redirect?id=example
- 前端服务器的redirect页面向后端发起请求获取跳转的地址
- 后端通过前端发来的重定向url根据一定规则设置好appid、redirect_uri、response_type、scope、state的微信授权链接
- 前端服务器的redirect页面收到应答在当前页面打开微信授权链接
- 如果用户同意授权,页面将跳转至 redirect_uri/?code=CODE&state=STATE
- 前端服务器的example页面携带code参数向后端发起网页授权换取access_token
- 后端向微信发起授权请求,收到微信返回的信息保存到数据库中,其中的参数openid返回给前端,前端将openid保存在本地,等待下次使用
微信公众号-后端架构设计相关推荐
- 微信小程序后端框架|微信公众号后端框架(C# WebAPI)
微信小程序后端框架|微信公众号后端框架(C# WebAPI) 微信小程序 简称小程序,英文名Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的 ...
- celery redis mysql_GitHub - FJUT/gxgk-wechat-server: 校园微信公众号后端,使用 Python、Flask、Redis、MySQL、Celery...
This code is no longer being maintained. 项目已经不再维护,开源的目的更多是给新手一个参考 Demo gxgk-wechat-server 校园微信公众号后端, ...
- 微信公众号开发需要设计的技术及步骤
首先我先介绍一下微信公众号,首先他有个模式大概就是 发送信息 POST数据 微信服务 →→→ 腾讯服务器→→→你的服务器 ←←← ←←← 返回信息 输出数据,腾讯抓取 大概就是这么个流程,首先你得懂一 ...
- 微信公众号开发 - 配置表设计以及接入公众号接口开发
微信公众号开发文章目录 1.微信公众号开发 - 环境搭建 2.微信公众号开发 - 配置表设计以及接入公众号接口开发 3.微信公众号开发 - token获取(保证同一时间段内只请求一次) 4.微信公众号 ...
- 微信公众号java后端开发记录(一):公众号后台设置
·微信公众号后端开发文档: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842 ·开始一些必须设置解读: 登陆公 ...
- 基于Vue的微信公众号开发及选型研究
目录 1.背景介绍 1.1微信公众号简介 1.2Vue框架简介 1.3组件库简介 2.开发流程 2.1申请微信公众号 2.2申请微信测试号及配置 2.3安装微信开发者工具 2.4创建Vue项目 2.5 ...
- 如何爬取微信公众号的所有文章
准备阶段 为了实现该爬虫我们需要用到如下工具 Chrome浏览器 Python 3 语法知识 Python的Requests库 此外,这个爬取程序利用的是微信公众号后台编辑素材界面.原理是,当我们在插 ...
- Python爬虫实战练习:爬取微信公众号文章
前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:徐洲更 为了实现该爬虫我们需要用到如下工具 Chrome浏览器 Py ...
- 实现一个微信公众号智能问答机器人
前言 实现一个微信公众号智能问答机器人.(注:该项目开发并不复杂,但是需要的前提条件较多,需要有一定经验的开发人员才能吃透这篇文章) 1. 前期准备 注册一个微信公众号(如果没有可以用微信官方测试的公 ...
最新文章
- 按不同vlan下发dhcp_电脑网络:交换机VLAN基础知识及基本划分方法,揭开VLAN的面纱...
- 用c语言程序编写电池管理系统,基于Freescale单片机的电池管理系统设计.doc
- 【转】详解:oracle10G 数据库名、实例名、ORACLE_SID
- 邻接矩阵转换为邻接表;邻接表转换为邻接矩阵
- Octotree插件
- QWT官方例子--barchart
- 张三丰是小龙女的儿子的详细证明及理论依据(转)
- 回溯 + 剪枝 无重复元素的数组 candidates 和一个目标数 target 数字可以无限制重复被选取
- 求过指定点和指定方向的直线方程
- 铁道部售票网站怎么啦?
- matlab plot函数详解
- 微信小程序图片加载太慢;uni-app微信小程序加载图片优化;微信小程序图片image加载成功事件@load;图片加载成功触发@load事件
- jena 查询 java_使用SPARQL和Jena查询DBpedia
- 原创2D/3D游戏引擎源代码开源
- 7-3 计算平均成绩 (15分)
- 翻译—使用Python分析离散心率信号–第2部分
- 离线强化学习(Offline RL)系列3: (算法篇) IQL(Implicit Q-learning)算法详解与实现
- 高德地图某一城市地铁路线高亮解决方案
- 10-9 查询年龄18-20之间的学生信息(MSSQL)
- MAC JDK 卸载方法(彻底卸载)