通过微信公众号-接口测试流程基本了解了公众号网页授权的流程,下面通过工程实现用户访问授权网页、获取微信用户信息.

微信网页授权流程

以下5点微信开发文档上有具体说明

  1. 用户同意授权,获取code
  2. 通过code换取网页授权access_token
  3. 刷新access_token(如果需要)
  4. 拉取用户信息(需scope为 snsapi_userinfo)
  5. 检验授权凭证(access_token)是否有效

在微信的自定义菜单中配置跳转到第三方地址 https://static-a8b78395-4840-40cd-a425-8373e6fee47a.bspapp.com/#/pages/uform/redirect?id=example

  1. 用户通过微信公众号发起页面请求
  2. 提前配置好的第三方地址,访问该地址,微信内部浏览器跳转到https://static-a8b78395-4840-40cd-a425-8373e6fee47a.bspapp.com/#/pages/uform/redirect?id=example
  3. 前端服务器的redirect页面向后端发起请求获取跳转的地址
  4. 后端通过前端发来的重定向url根据一定规则设置好appid、redirect_uri、response_type、scope、state的微信授权链接
  5. 前端服务器的redirect页面收到应答在当前页面打开微信授权链接
  6. 如果用户同意授权,页面将跳转至 redirect_uri/?code=CODE&state=STATE
  7. 前端服务器的example页面携带code参数向后端发起网页授权换取access_token
  8. 后端向微信发起授权请求,收到微信返回的信息保存到数据库中,其中的参数openid返回给前端,前端将openid保存在本地,等待下次使用

微信公众号-后端架构设计相关推荐

  1. 微信小程序后端框架|微信公众号后端框架(C# WebAPI)

    微信小程序后端框架|微信公众号后端框架(C# WebAPI) 微信小程序 简称小程序,英文名Mini Program,是一种不需要下载安装即可使用的应用,它实现了应用"触手可及"的 ...

  2. celery redis mysql_GitHub - FJUT/gxgk-wechat-server: 校园微信公众号后端,使用 Python、Flask、Redis、MySQL、Celery...

    This code is no longer being maintained. 项目已经不再维护,开源的目的更多是给新手一个参考 Demo gxgk-wechat-server 校园微信公众号后端, ...

  3. 微信公众号开发需要设计的技术及步骤

    首先我先介绍一下微信公众号,首先他有个模式大概就是 发送信息 POST数据 微信服务 →→→ 腾讯服务器→→→你的服务器 ←←← ←←← 返回信息 输出数据,腾讯抓取 大概就是这么个流程,首先你得懂一 ...

  4. 微信公众号开发 - 配置表设计以及接入公众号接口开发

    微信公众号开发文章目录 1.微信公众号开发 - 环境搭建 2.微信公众号开发 - 配置表设计以及接入公众号接口开发 3.微信公众号开发 - token获取(保证同一时间段内只请求一次) 4.微信公众号 ...

  5. 微信公众号java后端开发记录(一):公众号后台设置

    ·微信公众号后端开发文档: https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140842 ·开始一些必须设置解读: 登陆公 ...

  6. 基于Vue的微信公众号开发及选型研究

    目录 1.背景介绍 1.1微信公众号简介 1.2Vue框架简介 1.3组件库简介 2.开发流程 2.1申请微信公众号 2.2申请微信测试号及配置 2.3安装微信开发者工具 2.4创建Vue项目 2.5 ...

  7. 如何爬取微信公众号的所有文章

    准备阶段 为了实现该爬虫我们需要用到如下工具 Chrome浏览器 Python 3 语法知识 Python的Requests库 此外,这个爬取程序利用的是微信公众号后台编辑素材界面.原理是,当我们在插 ...

  8. Python爬虫实战练习:爬取微信公众号文章

    前言 本文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:徐洲更 为了实现该爬虫我们需要用到如下工具 Chrome浏览器 Py ...

  9. 实现一个微信公众号智能问答机器人

    前言 实现一个微信公众号智能问答机器人.(注:该项目开发并不复杂,但是需要的前提条件较多,需要有一定经验的开发人员才能吃透这篇文章) 1. 前期准备 注册一个微信公众号(如果没有可以用微信官方测试的公 ...

最新文章

  1. 按不同vlan下发dhcp_电脑网络:交换机VLAN基础知识及基本划分方法,揭开VLAN的面纱...
  2. 用c语言程序编写电池管理系统,基于Freescale单片机的电池管理系统设计.doc
  3. 【转】详解:oracle10G 数据库名、实例名、ORACLE_SID
  4. 邻接矩阵转换为邻接表;邻接表转换为邻接矩阵
  5. Octotree插件
  6. QWT官方例子--barchart
  7. 张三丰是小龙女的儿子的详细证明及理论依据(转)
  8. 回溯 + 剪枝 无重复元素的数组 candidates 和一个目标数 target 数字可以无限制重复被选取
  9. 求过指定点和指定方向的直线方程
  10. 铁道部售票网站怎么啦?
  11. matlab plot函数详解
  12. 微信小程序图片加载太慢;uni-app微信小程序加载图片优化;微信小程序图片image加载成功事件@load;图片加载成功触发@load事件
  13. jena 查询 java_使用SPARQL和Jena查询DBpedia
  14. 原创2D/3D游戏引擎源代码开源
  15. 7-3 计算平均成绩 (15分)
  16. 翻译—使用Python分析离散心率信号–第2部分
  17. 离线强化学习(Offline RL)系列3: (算法篇) IQL(Implicit Q-learning)算法详解与实现
  18. 高德地图某一城市地铁路线高亮解决方案
  19. 10-9 查询年龄18-20之间的学生信息(MSSQL)
  20. MAC JDK 卸载方法(彻底卸载)

热门文章

  1. 语音通知怎么发?如何接入语音短信接口
  2. Python-爬虫实战练习
  3. freeswitch系列四 通过实例学习sip协议的注册、呼叫、挂断流程
  4. go程序设计语言-第一章 入门(1)
  5. Android5.0版本之后切换听筒模式
  6. 解决Windows Media Player播放无声或声音过快问题
  7. CVE-2018-0886
  8. excel粘贴时出现故障_在高速公路驾车时出现故障如何自救,严重故障如何处理-看这里...
  9. 大学计算机实验三,《大学计算机Ⅰ》实验报告实验三
  10. ecshop 中添加限时抢购功能(倒计时)