思路:

1.微信服务器知道开发者服务器是哪个

-测试号管理界面上填写url开发者服务器地址

-内网穿透使微信服务器能访问到映射到外网的开发者服务器地址

-填写token,进行加密

2.开发者服务器验证消息是否来自于微信服务器

//npm i express下载包npm i下载依赖
//内网穿透一下
const express = require('express');
const sha1 = require('sha1')
const app = express();
//定义配置对象
const config = {token: '1234',appID: 'wx387707c142342e5f',appsecret: 'ed1109d567b0bf87eba63747f6aa71b2'
}
app.use((req, res, next) => {console.log(req.query)const { signature, echostr, timestamp, nonce } = req.query //对象的结构赋值const { token } = config/*{微信服务器发来的东西signature: '9bf986bba167e1d38434813148d9622cf1e143c0',微信的加密签名,在自己服务器根据这个算出是否来自微信服务器echostr: '3329679419479420731',微信随机字符串timestamp: '1635763993',微信发送请求的时间戳nonce: '378478086'随机数字}*///timestamp, nonce, token字典排序拼接成字符串sha1加密, 如果和signature一样, 返回给微信服务器const arr = [timestamp, nonce, token];const arrSort = arr.sort()console.log(arrSort)//npm i sha1const str = arr.join('')const sha1str = sha1(str)console.log(sha1str)if (sha1str == signature) {res.send(echostr)} else {res.end('error')}
})
app.listen(6177, () => {console.log('server is running...')})//在微信测试号管理页面填写url开发者服务器地址(每次穿透地址都不一样)

微信公众号_接口测试_验证服务器有效性相关推荐

  1. 阿里云服务器+微信公众号配置(Token验证不通过)

    推荐使用CentOS操作系统,本人在使用Ubuntu操作系统时安装第三方软件不是很顺利,导致在微信公众号服务器配置的Token验证失败不通过上浪费大量时间. 以下是 CentOS 和 Ubuntu的介 ...

  2. 微信公众号开发(一)服务器及接口的配置

    微信公众号开发(一)服务器及接口的配置 关于微信公众号中的订阅号和服务的区别这里不多加讨论,网上有很多资源可以搜到,这里直接进入正题,如果是个人开发者,这里建议使用测试号进行开发学习,测试号的权限要比 ...

  3. 微信公众号开发教程(一) 验证接入

    作者:陈惠,叩丁狼教育高级讲师.原创文章,转载请注明出处. 微信公众号开发教程(一)验证接入 本篇文章主要介绍了微信公众号开发接入详细流程,希望对刚接触公众号开发的同学有所帮助,有兴趣的同学可多多关注 ...

  4. 微信公众号修改服务器配置token验证失败

    @微信公众号修改服务器配置token验证失败 微信公众号修改服务器配置token验证失败 新建SignUtil类 public class SignUtil {// 与接口配置信息中的 Token 要 ...

  5. 基于python的微信公众号开发教程_基于python的微信公众号开发教程

    应广大python学员的期盼,九宝老师精心制作的"基于python的微信公众号开发"视频教程即将上线. 该课程秉承九宝培训一贯的"简单.高效.快速"的讲课原则, ...

  6. c# 微信公众号开发之token验证第三方服务器

    初入微信,才发现真的一坑又一坑,小程序之前坑可能是前辈填掉了,前辈走后,公司开始搞公众平台,需要公众号开发,唯一后端的我,顶了上去. 服务器配置验证token,从官方文档理解就是,官方发送signat ...

  7. 微信公众号java开发:验证消息的确来自微信服务器

    微信公众号开发,微信服务需要认证服务,官方文档如下: 引入jar包如下: <dependency><groupId>com.github.binarywang</grou ...

  8. vue 微信公众号支付接口_基于vue的h5项目之支付宝支付与微信支付

    本文仅记录基于vue开发h5项目过程中使用支付宝和微信支付过程中的重点与槽点,仅为前端部分,如有疏漏不正之处,请于文末评论探讨.注意:标红部分灰常重要,仔细阅读官方文档非常重要,耐心非常重要,细心非常 ...

  9. 微信公众号python开发_用python如何开发微信公共帐号?

    我的第一个Python项目就是做的微信公众号机器人,按照当时我的思路来讲讲如何学习使用Python来开发微信公众号:大家伙收藏顺手点个赞呗. 微信公众号功能开发分为两大块:需要调用微信内部功能.不需要 ...

  10. python微信公众号翻译功能_自学Python笔记:给微信公众号搭建“成绩查询”功能...

    原标题:自学Python笔记:给微信公众号搭建"成绩查询"功能 期末考试 临近年末,全国各地都在上演一场大戏<期末考试>,考完试无论什么样的结果总想尽快看到自己一个学期 ...

最新文章

  1. percent之集合
  2. 【Nginx入门系列】第六章 Nginx+tomcat集群负载均衡部署
  3. 设置控件全局显示样式appearance proxy
  4. 冒泡排序选择排序插入排序
  5. Emacs中使用Forms-mode以表格形式展示/编辑简单的文本数据
  6. 策略模式应用场景和uml_策略模式
  7. asp得到地址栏里?以后的字串
  8. iOS开发-Bug锦囊
  9. 西门子wincc消息队列服务器,安装Wincc 7.0 ASIA时,消息队列装不上,提示错误-工业支持中心-西门子中国...
  10. 通信基站中AAU与RRU的功能和区别是什么?
  11. OpenBmc开发13:添加传感器(fan)
  12. 矩阵顺逆时针旋转、翻转 java
  13. LineRenderer组件
  14. iOS16 系统bug汇总,续航发热情况,各机型升级建议
  15. java内部类的作用分析
  16. Welcome Here
  17. s5.CentOS、Ubuntu、Rocky Linux系统初始化脚本
  18. ./config详解
  19. 梅贾的窃魂卷(吉首大学新星杯 C题)
  20. 面试金典02(Python)—— 判定是否互为字符重排(简单)

热门文章

  1. [floyed][叉积][距离公式](JZOJ)泽泽在巴西
  2. 【毕业设计】基于STM32自行车智能无线防盗报警器 -物联网 单片机 嵌入式
  3. (IS 19)On Learning Interpretable CNNs with Parametric Modulated Kernel-based Filters
  4. Linux打包压缩:zcat、compress、gzip、bzip、xz、zip、tar、cpio
  5. CDH大数据平台搭建之FLUME安装
  6. 如何从PowerPoint幻灯片中删除幻灯片编号
  7. 假期,更想念我的宝宝和老婆了。
  8. Opencv 使用Rect选取与设置窗口ROI
  9. KNN最近邻算法ppt
  10. 让一个人再次生机勃勃,还是内心的力量