第三方平台如何接受授权公众号取消授权事件
第三方平台设置了:授权事件接受URL
该URL主要有两个作用:
(1)微信服务器每隔10分钟定时推送component_verify_ticket。第三方平台方收到ticket
(2)如果公众号取消了第三方平台的授权,微信服务器会通过这个url告知第三方平台。
public String receiveAuth() {String msgSignature = getRequest().getParameter("msg_signature");String timestamp = getRequest().getParameter("timestamp");String nonce = getRequest().getParameter("nonce");logger.info("msgSignature:" + msgSignature + ",timestamp:" + timestamp+ ",nonce:" + nonce);try {BufferedReader br = new BufferedReader(new InputStreamReader(getRequest().getInputStream()));String line = null;StringBuilder sb = new StringBuilder();while ((line = br.readLine()) != null) {sb.append(line);}String encStr = sb.toString();//解密推送信息if (encStr != null) {WXBizMsgCrypt pc = new WXBizMsgCrypt(Constants.WX_OPEN_TOKEN,Constants.WX_OPEN_ENCODING_AESKEY,Constants.WX_OPEN_APPID);DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();DocumentBuilder db = dbf.newDocumentBuilder();StringReader sr = new StringReader(encStr);InputSource is = new InputSource(sr);Document document = db.parse(is);Element root = document.getDocumentElement();NodeList nodelist1 = root.getElementsByTagName("Encrypt");String encrypt = nodelist1.item(0).getTextContent();String format = "<xml><ToUserName><![CDATA[toUser]]></ToUserName><Encrypt><![CDATA[%s]]></Encrypt></xml>";String fromXML = String.format(format, encrypt);String resultXml = pc.decryptMsg(msgSignature, timestamp,nonce, fromXML);Map<String, String> xmlMap = MessageUtil.praseXmlString2Map(resultXml);if(StringUtils.isNotNull(xmlMap.get("InfoType")) && "unauthorized".equals(xmlMap.get("InfoType"))){String appid = xmlMap.get("AuthorizerAppid");WxAccount account = new WxAccount();account.setAccountappid(appid);account = wxAccountService.getWxAccount(account);if(account != null){//公众号取消授权,设置相应的状态标志account.setStatus(0);wxAccountService.updateWxAccount(account);logger.error("wx_account Cancel authorization set status = 0 appid="+appid);}}// 将component_verify_ticket存入redis数据库String ticket = xmlMap.get("ComponentVerifyTicket");if(StringUtils.isNotNull(ticket)){Constants.WX_OPEN_COMPONENT_VERIFY_TICKET = ticket;logger.info("ComponentVerifyTicket:"+ ticket);jedis = pool.getShardedJedisPool().getResource();jedis.set("ComponentVerifyTicket", ticket);}}} catch (Exception e) {e.printStackTrace();}return null;}
第三方平台如何接受授权公众号取消授权事件相关推荐
- 【解决】小程序|微信公众号授权给第三方平台时报“没有绑定公众号”
如果第三方平台没有全网发布时,要在授权账号公众号列表里面填写的原始ID.如果是测试小程序,也要加上小程序的原始ID. 实操验证的经验. 完整小程序第三方授权操作流程: 1.第三方平台需要设置小程序权限 ...
- 微信公众号授权给第三方平台时报“没有绑定公众号”
为什么第三方平台扫码授权没有显示公众号选项??? 如下图,左边是不正常的,右边是正常的. 做第三方平台开发的人比较少,此问题遇到的人也比较少.但是需要的时候基本搜不到. 目前发现其中一个导致此问题的是 ...
- 微信开放平台(第三方平台)代替微信公众号发送模板消息(基于lavarel框架开发,EasyWeChat)
1.公众号必须得把模板消息授权到第三方平台. 2.我用的是 EasyWeChat 3.通过接口修改账号所属行业 (实质上就是开通模板消息) //修改账号所属行业public function set_ ...
- 微信公众号第三方开发之一创建微信公众号第三方平台
首先声明,在接下来一系列公众号第三方开发教程中,核心原理是参照下面博主的源码: http://www.cnblogs.com/sujingnan/p/4397203.html 拓展业务需求的. 为什么 ...
- 一、授权(公众号授权给第三方/用户授权给公众号)
目录 1.公众号授权给第三方 2.用户授权 1.公众号授权给第三方 第三方平台获取预授权码(pre_auth_code) 引导用户进入授权页(授权注册页面扫码授权,点击移动连接快速授权) 用户确认并同 ...
- 微信网页扫码登录和公众号网页授权登录的比较
最近在做PC二维码扫码登录的功能,总结了一些问题 # 主要区别 二者的主要区别: 差异 PC网页扫码登录 公众号网页授权登录 账号要求 需要开放平台账号创建网站应用 一个认证过的服务号就可以(也可以使 ...
- 平台化思维——微信公众号研究
前言 很多年前读过一本书<重构-改善既有的代码>,里面有一个能快速提升编程水平的方式就是,代码中需要尽量减少重复的部分,1000行代码可以优化为800行,800行可以优化到500行,方法就 ...
- 微信公众号网页授权登录的超简单实现步骤
微信开放平台为第三方移动程序提供分享.传播的接口, 使用户可将第三方程序的内容发布给好友或分享至朋友圈, 下面这篇文章主要给大家介绍了关于微信公众号网页授权登录的超简单实现方法, 需要的朋友可以参考下 ...
- 微信公众号登录授权(全网发布)一键绑定公众号设置教程及常见问题
2019独角兽企业重金招聘Python工程师标准>>> 一. 授权登录优点 1.微信官方认可: 2.操作简单,避免繁杂的接口对接设置: 3.不提供密码给平台或者开发者,公众号更加安全 ...
最新文章
- 关于VLC无法播放rtsp的问题分析
- C++新特性探究(四):Raw String Literals
- HttpClient 使用证书访问https站点
- error: libXpm.(a|so)
- vue如何让自定义函数挂到全局
- ubuntu 卸载openjdk 安装java8 安装之后提示Command ‘java‘ not found
- 关于分卷压缩文件打不开的问题
- 用engineercms建立项目管理平台
- html加拼音注释,《弟子规》全文带拼音注释(下)
- PV、UV、IP分别是什么意思
- linux 快速建网站,如何快速建站,新手快速搭建网站教程
- 最强赛亚人服务器维护,最强赛亚人官方,最强赛亚人手游官方正版预约 v1.1.0-手游汇...
- Redis集群Hash槽分配异常 CLUSTERDOWN Hash slot not served的解决方式
- 微信公众号小程序外卖返利分销系统美团饿了么外卖cps软件源码
- 2.2 字 母 表 和 符 号 串 的 基 本 概 念
- Typora中的emoji图标标签
- android 6.0 SystemUI源码分析(1)-SystemUI介绍
- 利用R语言制作GGEBiplot-双标图教程
- 大神们都是如何在时间序列中进行特征提取的?看完就懂了!
- 牛黄上清片_百度百科