采用 springboot、vue开发微信公众号

1. 注册、认证公众号
2. 准备服务器、备案域名
3. 配置公众号
4. 前端开发
5. 后端开发

1.注册、认证公众号
用企业信息注册和认证公众号

2. 准备服务器、备案域名
准备服务器和域名,服务器和域名要在同一服务商,例如用阿里的服务器需要在阿里备案的域名。
(海外和香港服务器不需要备案也可以访问,拿到域名要先确认备案信息和服务器是否统一)

3. 配置公众号
配置IP白名单(开发环境:自己路由器的IP | 生产环境:服务器IP)
配置网页授权域名(公众号设置-功能设置)
JS接口安全域名和网页授权域名配置一个就可以,一个前端校验,一个后端校验

JS接口安全域名(前端校验:因为采用vue前后端分离开发,前端部署在nginx)

  1. 配置nginx 配置之后能通过 http://域名/MP_verify_xxxxx.txt 访问就可
 server {listen       80;server_name 域名;location / {root  项目/文件上传路径; index  index.html;}}

网页授权域名(后端校验)
将springboot 后端设置为80端口启动,返回MP_verify.txt校验文件的文本即可

@GetMapping("/MP_verify_xxxxxx.txt")
public String mpVetify() {return  "xxxxxxx";
}

因为开发过程中不想搭建nginx,所以采用natapp内网映射工具生成的域名映射到本地的80的端口,将临时域名配置到网页授权域名,先通过校验,然后将后端改为其他端口,将前端设置为80端口-微信网页授权回调地址无法访问80端口外的其他端口
总结一下:
开发时通过后端校验域名
2. 下载校验文件,获取校验文件名称和内容
3. 添加接口,通过访问校验文件名称能获取校验文件内容
4. 修改后端为80端口启动
5. 在”网页授权域名“配置为natapp产生的临时域名
6. 校验通过,域名设置成功
7. 修改后端启动端口,将前端的端口设置为80
开发时通过前端校验域名

  1. 搭建nginx,修改配置文件
  2. 在”JS接口安全域名“配置为natapp产生的临时域名

4. 前端开发
获取code

function getCode() {let appId = '微信公众号appId'let redirect_uri = encodeURIComponent("http://域名/页面路径")let scope = "snsapi_base"window.location.href = "https://open.weixin.qq.com/connect/oauth2/authorize?appid=" + appId + "&redirect_uri=" + redirect_uri + "&response_type=code&scope=snsapi_base&state=STATE#wechat_redirect"
}

redirect_uri 为微信网页授权回调的页面,在页面中接收code 参数
将获取到的code传递给后端,后端通过code获取openId等信息
(部署到nginx之后,获取到code 访问-http://域名/页面路径-会发生404,暂时直接在http://域名访问的页面中接收返回的code,希望有大大可以指导)

5. 后端开发
后端采用微信开发 Java SDK进行开发

@GetMapping("login/{code}")
public ResponseEntity<Object> login(@PathVariable("code") String code) throws WxErrorException {WxOAuth2AccessToken wxOAuth2AccessToken = wxMpService.getOAuth2Service().getAccessToken(code);String openId = wxOAuth2AccessToken.getOpenId();Map<String,Object> result = mpUserService.validOpenId(openId);return new ResponseEntity<>(result, HttpStatus.OK);
}

微信公众号开发-授权相关推荐

  1. 微信公众号开发 授权回调域名 微信授权验证

    问题: 配置了微信后台的授权回调域名还是没有通过微信验证,即出现 微信验证步骤: 1.通过一个链接A(www.xxx.com?str=xxxxxxxx)进入微信验证 2.因为链接不存在微信的code, ...

  2. 微信公众号开发Django-网页授权

    原文链接 对于基础的微信公众号开发,网页授权,JSSDK,图片处理应该是最重要的三部分了 根本上也是按照文档开发,技术含量并不高. (选Django=很多权限控制模块已经做好了,比较省力) 在开始之前 ...

  3. ASP.NET MVC4 微信公众号开发之网页授权(一):搭建基础环境

    首先你得注册并认证一个个人或企业的微信公众号===服务号从而确保获得以下接口权限: 然后打开公众号设置里的功能设置里找到业务域名和网页授权域名分别填上你的域名(注:已备案的域名),如下图所示: 到这里 ...

  4. C#微信公众号开发 -- (七)自定义菜单事件之VIEW及网页(OAuth2.0)授权

    通俗来讲VIEW其实就是我们在C#中常用的a标签,可以直接在自定义菜单URL的属性里面写上需要跳转的链接,也即为单纯的跳转. 但更多的情况下,我们是想通过VIEW来进入指定的页面并进行操作. 举一个简 ...

  5. 微信公众号开发(一) 微信网页授权登录

    微信网页授权登录 前期准备 授权登录 获取微信数据 处理授权拒绝 前期准备 1.微信公众号开发,首先要搞一个公众号,开发阶段可以申请一个公众平台测试账号. (进入到微信公众公众平台,找到开发者工具,点 ...

  6. 微信公众号开发之授权

    微信公众号开发之授权 开发前准备 首先准备自己的服务器资源,已有服务器的请忽略服务器资源. 我这里演示新浪云服务器环境搭建:(新注册号有免费云豆可用) 服务器资源(https://sae.sina.c ...

  7. 微信公众号 用户绑定 php,微信公众号开发——网页授权实现简化用户绑定

    本教程的学习条件: 了解微信公众号开发的基本知识.已经申请了微信公众号并设置了开发模式等.如果不了解,请先到微信官方平台学习 需要服务器端开发的基本技能,本文主要讲解流程,基本不涉及具体开发语言. 首 ...

  8. Java微信公众号开发微信网页授权之前端传递code方式获取用户信息

    本片博客讲解的网页授权分为两步,前端先传递backUrl(回调地址)到后台网页授权接口,该接口拿到回调地址后组装授权连接,重定向到前端页面,前端页面截取Code,传入后端获取用户信息方法,获取用户信息 ...

  9. 微信公众号开发-网页授权——配置测试账号

    思路分析: 1.创建测试账号并且配置测试账号的授权回调域名. 2.由前端发起授权请求,微信收到请求后(若是首次打开,并且未关注公众号,微信会弹出授权页,提示用户授权)将重定向到请求url中配置的red ...

最新文章

  1. ICLR 2022|唯快不破!面向极限压缩的全二值化BiBERT
  2. LeetCode 31 下一个排列
  3. u盘修复linux系统,360u盘修复工具官方版u盘pe安装linux系统
  4. python读取pdf文档书签 bookmark_Python利用PyPDF2库获取PDF文件总页码实例
  5. ldconfig和ldd用法
  6. 使用springmvc时处理404的方法
  7. Advanced clustering methods (Cure, Chameleon, Rock, Jarvis-Petrich)
  8. C++ Primer 5th Edition(英文版)kindle.mobi
  9. Camtasia2020注册机顶级屏幕录像视频编辑软件安装教程
  10. EPC项目设计界面管理研究——以上海国际金融中心项目为例
  11. wll多功能超小linux,WLL多功能PXE网启服务器3.6终结版
  12. [SSD核心技术:FTL 2] 固态硬盘数据是怎么找到的?神秘的FTL详解
  13. 7、对数组中下标为奇(偶)数的元素进行操作
  14. html盒子连续点击连续移动,html盒子整体向下移动
  15. 活动策划书用什么计算机软件,各行业主流设计软件有哪些?(设计人员请进)...
  16. windows日志查看与清理
  17. 谁需要闪光灯? CSS3动画蜘蛛侠卡通
  18. 记录一次es7.8.1报错解决过程 unknown key [column] for create index
  19. 芝加哥大学计算机科学硕士录取,芝加哥大学统计学研究生Offer及录取要求
  20. JS实现在线ps功能

热门文章

  1. 如何把模型内的参数与intralink8.0里的属性映射起来
  2. torch中.data和.detach()的区别
  3. 谷歌,草色遥看近却无
  4. 10+31=100小组项目第二周总结报告
  5. java 中的位移运算
  6. matlab menu命令,Matlab基本函数-menu函数
  7. GDB si,ni,s,n的区别
  8. UBports压力测试stress
  9. PX4模块设计之三十三:Sensors模块
  10. php 热门方向,精华篇之webshell在php方向的研究