流程如下:

1. 申请微信公众号:企业号、服务号、订阅号(前两个要钱)

2. 配置微信公众号后台

选择基本配置,获得 AppId 和 AppSecret ,点击服务器配置

URL:你服务器地址,不能是IP地址,而且域名必须指向80端口,没有固定域名的同志可以使用natapp,基于ngrok的域名映射工具

Token: 自己生成

EncodingAESKey: 点击随机生成

完成填写后点击提交,微信会向你填写的地址发送一个请求,然后你需要把他发送的 echoStr 返回,所以事先需要在自己服务器上写一段代码,如下:

我项目目录下

我把微信配置项放在config目录下ws.js文件中:

const wxConfig = {
appId: '******',
appSecret: '******',
token: '*****'
} module.exports = wxConfig

每次微信服务器请求第三方服务器会携带 signature  nonce  timestamp  字段,在配置服务项时还会携带 echoStr 字段

我们可以通过将token(保存在配置项) nonce  timestamp 排序,然后拼接,然后 sha1 加密后与 signature 比较,如果相等则改请求为微信服务器发送

代码:

var token = wxConfig.token
var signature = req.query.signature
var nonce = req.query.nonce
var timestamp = req.query.timestamp
var echostr = req.query.echostr
var str = [token, timestamp, nonce].sort().join('')
var sha = sha1(str)
if (sha === signature) {
res.send(echostr)
}else{
res.send('error')
}

微信服务器收到 echoStr 后会提示配置成功

最新文章

  1. wamp下Apache配置vhost
  2. c#.net 生成清晰缩略图
  3. SQL server 中的@,@@、#,##分别代表什么?
  4. [实变函数]5.2 非负简单函数的 Lebesgue 积分
  5. (转)Arcgis API常用接口调用方法
  6. [转载]点评阿里云、盛大云等国内IaaS产业
  7. php提取淘宝URL中ID的代码
  8. Java-线程间通信
  9. python模块介绍- multi-mechanize 性能测试工具
  10. 如何对软件开发工具 WebBuilder 进行安装?
  11. Entity Framework Core 2.0 全局查询过滤器
  12. python在sqlite动态创建表源码
  13. hadoop2-HBase的安装和测试
  14. nginx+fastCGI
  15. 《Java大学教程》—第5章 数组
  16. mybatis百科-列映射类ResultMapping
  17. luogu 3582 线段树
  18. 印象笔记无法连服务器(internet explore的问题)
  19. node.js模块本地代理模块(将自己本机/局域网)服务 代理到外网可以访问
  20. spring的multipartResolver和java后端获取的MultipartHttpServletRequest方法对比 (附:遇到的坑)

热门文章

  1. socks5服务器编写经验总结
  2. myql 格式化日期
  3. java-使用Jacob实现office转换成pdf
  4. Oauth2手册 第一章
  5. Routemanage类方法详解
  6. Day14全局变量与局部变量
  7. QT中资源文件的使用
  8. Python 之 __new__() 方法与实例化
  9. 在线学习在CTR上应用的综述
  10. 实现poster,json,base64等编码转码工具