/**

* 请求校验(确认请求来自微信服务器)

*/

public void wxOauth() throws Exception {

// String signature = (String) getRequest().getAttribute("signature");

if (signature == null || signature.equals("")) {

logger.error("微信验证 缺少参数  signature============" + signature);

}

// String timestamp = (String)

// getRequest().getAttribute("timestamp");

if (timestamp == null || timestamp.equals("")) {

logger.error("微信验证 缺少参数  timestamp============" + timestamp);

}

// String nonce = (String) getRequest().getAttribute("nonce");

if (nonce == null || nonce.equals("")) {

logger.error("微信验证 缺少参数  nonce============" + nonce);

}

// String echostr = (String) getRequest().getAttribute("echostr");

if (echostr == null || echostr.equals("")) {

logger.error("微信验证 缺少参数  echostr============" + echostr);

}

String token = ConfigUtil.WXTOKEN;

logger.error("微信验证token.....");

String[] str = { token, timestamp, nonce };

logger.error("微信验证token  str============" + str);

Arrays.sort(str); // 字典序排序

String bigStr = str[0] + str[1] + str[2];

logger.error("微信验证token  bigStr============" + bigStr);

// SHA1加密

String digest = new SHA1().getDigestOfString(bigStr.getBytes()).toLowerCase();

// 确认请求来至微信

if (digest.equals(signature)) {

logger.error("微信验证token  token============" + token);

super.write(echostr);

//wxMessageReceive(echostr);

logger.error("微信验证token  成功============" + token);

}

}

微信 请求校验(确认请求来自微信服务器)相关推荐

  1. 微信开发api “此图片来自微信公众平台未经允许不可引用”的解决方案

    在使用微信开发api接口接管后, 获取公众号的素材发现图片显示"此图片来自微信公众平台未经允许不可引用" 问题: 方案一(推荐): 在html中的<head>里面添加& ...

  2. 微信小程序布局干货——来自微信官方

    微信官方文档地址: https://developers.weixin.qq.com/ebook?action=get_post_info&token=935589521&volumn ...

  3. 来自微信团队的 6 个开源项目

    从GitHub上可以看出,到目前为止,由腾讯微信团队发起的开源项目已经有6个,并且这其中大部分都是在2016年开源的,领域涉及移动.数据库.基础类库.框架.中国大公司的开源曾经给社区留下不好的印象,比 ...

  4. 如何使用Nginx来实现企业微信域名校验

    如何使用Nginx来实现企业微信域名校验 背景: 企业微信自建应用需要域名校验,根据企业微信后台生成的域名校验的文件返回对应的内容. 如: 企业微信后台配置的可信域名为 eden-qa.com,企业微 ...

  5. iOS中 最新微信支付/最全的微信支付教程详解 韩俊强的博客

    亲们, 首先让我们来看一下微信支付的流程吧. 1. 注册微信开放平台,创建应用获取appid,appSecret,申请支付功能,申请成功之后会返回一些参数. 2. 下载微信支付sdk 3. 客户端请求 ...

  6. 微信小程序 解决请求服务器手机预览请求不到数据的方法

    微信小程序 解决请求服务器手机预览请求不到数据的方法 微信小程序的文档中明确说明了所有的请求是必须使用https的,以没用过https,由于小程序,不得不接触到https,研究了好长时间把tomcat ...

  7. 判断请求是否来自微信端

    user_agent = request.META.get('HTTP_USER_AGENT', "") if 'micromessenger' in user_agent.low ...

  8. (微信公众号)验证消息的确来自微信服务器

    https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421135319 1. 开发者提交信息后,微信服务器将发送GET请求到填写的服 ...

  9. 第四章 微信公众号开发之验证消息的确来自微信服务器

    之前直接写了怎么开发,忘了写怎么知道验证消息来自微信服务器,否则无法进行开发,先来看一下官方的开发文档怎么描述的 接入微信公众平台开发,开发者需要按照如下步骤完成: 1.填写服务器配置 2.验证服务器 ...

最新文章

  1. 清华大学和MIT研究人员使用DeepMind的AlphaFold方法来增强COVID-19抗体
  2. java 多线程共享数据_Java多线程学习:多个线程间共享数据
  3. AtCoder AGC031F Walk on Graph (图论、数论)
  4. codefirst 兼容oracle,EF6+MVC5之Oracleo数据库的CodeFirst方式实现
  5. 云服务器 VNC 远程连接
  6. inotify和epoll
  7. Zoho 修复Desktop Central 中的又一个严重漏洞
  8. ios 去掉底部状态栏,隐藏ios 9中的状态栏
  9. 11. JavaScript 对象
  10. 修改统计信息自动收集时间窗口
  11. Cannot uninstall ‘requests’. It is a distutils installed project and thus we cannot accurately deter
  12. smarty3.X新命名规范引起的'Call of unknown method'
  13. 航空三字代码表_航空公司二字及三字代码表
  14. 中标麒麟6 mysql_中标麒麟(linux)mysql配置记录
  15. 【软件工程】北邮国际学院大三下期末复习
  16. PHP之字符串常用函数
  17. 关于oracle端口映射的远程连接
  18. 18位身份证校验代码
  19. opencv鱼眼相机模型详解
  20. 强化学习开发黑白棋、五子棋游戏

热门文章

  1. S2B2C平台协同管理业务详解 | 数商云S2B2C系统赋能新能源汽车行业高价值增长
  2. “两地分居”的大学师生
  3. EBU5476 Microprocessor System Design 知识点总结_5 GPIO
  4. 优化模型验证关键代码18:基于Mvar和getA的对偶模型构建及拓展分析
  5. 分享几个特别特别强的网站
  6. ❤️学习虚幻引擎这一篇就够了⚡⚡⚡❤️
  7. 虚幻4 python_技术前瞻:虚幻引擎中的 Python
  8. 网络工程师 考试命令合集 交换机、路由器、ACL、NAT、防火墙等配置命令
  9. Linux下make cmake 编译等啥意思?
  10. 学习方法和自我管理杂记