NodeJS 微信公共号开发 - 响应微信发送的Token验证(山东数漫江湖)
背景
使用 NodeJS 进行微信公共号开发,首先需要响应微信发送的Token验证,官方文档
填写服务器配置
登录微信公共平台,在开发下的基本配置打开该页面。
依次填写接口的 URL、自定义的 Token、点击随机生成生成 EncodingAESKey、将消息加密方式选择为明文模式,点击提交时微信会进行服务器的 Token 验证。
响应微信发送的Token验证
项目使用 express 开发,中间件 wechatAuth 如下:
12345678910111213141516171819202122232425262728293031 |
var app = express(); const crypto = require('crypto');const url = require('url'); //进行sha1加密function sha1(str) { let shasum = crypto.createHash("sha1"); return shasum.update(str,'utf-8').digest("hex");} function wechatAuth(req, res) { let signature = req.query.signature; let echostr = req.query.echostr; let timestamp = req.query.timestamp; let nonce = req.query.nonce; let reqArray = [nonce, timestamp, process.env.WX_TOKEN]; // process.env.WX_TOKEN对应填写服务器配置内的 Token reqArray.sort(); //对数组进行字典排序 let sortStr = reqArray.join(''); //连接数组 let sha1Str = sha1(sortStr.toString().replace(/,/g,"")); if (signature === sha1Str) { res.end(echostr); } else { res.end("false"); console.log("授权失败!"); }} app.use('/wx/token',wechatAuth); // 对应填写服务器配置内的 URL |
服务器上线后点击基本配置打开该页面内的提交即可
转载于:https://www.cnblogs.com/kkdn/p/8963288.html
NodeJS 微信公共号开发 - 响应微信发送的Token验证(山东数漫江湖)相关推荐
- 微信公共号开发教程java版——请求消息,响应消息及事件消息类的封装(三)
一:封装请求信息 当普通微信用户向公众账号发消息时,微信服务器将POST消息的XML数据包到开发者填写的URL上. 各消息类型的推送XML数据包结构如下: 查看官网详细介绍 文本消息<xml&g ...
- 微信公共号开发教程java版——获取用户基本信息(UnionID机制)(七)
一:UnionID机制说明 官网详细介绍:https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421140839 获取用户基本信息( ...
- 微信公众 mysql回复图片_微信公众号开发之微信公共平台消息回复类实例
本文实例讲述了微信公众号开发之微信公共平台消息回复类.分享给大家供大家参考.具体如下: 微信公众号开发代码我在网上看到了有不少,其实都是大同小义了都是参考官方给出的demo文件进行修改的,这里就给各位 ...
- 视频教程-基于python的微信公众号开发教程-微信开发
基于python的微信公众号开发教程 微信企业号星级会员.10多年软件从业经历,国家级软件项目负责人,主要从事软件研发.软件企业员工技能培训.已经取得计算机技术与软件资格考试(软考)--"信 ...
- 微信公众号开发之微信公众平台与公众号第三方平台区别
微信公众号开发分为微信公众平台和公众号第三方平台. 首先需要一个认证服务号,然后在设置,基本配置里面配置公众号开发信息和服务器配置. 这是我们会得到开发者ID(AppID),开发者密码(AppSecr ...
- 微信公众号开发--图文消息发送不显示图片的问题
使用微信公众号接口实现图文消息推送,遇到问题,不显示图片,且content内容中有英文双引号也不行 1.微信不允许有外链的图片,所以会自动过滤 2."双引号格式问题. 前端把双引号传给后端后 ...
- 微信公众号开发小记(二)--服务器验证
这篇是微信公众号开发小记的第二篇,承接上一篇,此次将完成如下主要功能 对接微信服务器和自己的服务器 需要的"材料" 到这里需要梳理一下都需要什么东西,以便在整个编码的过程中方便我们 ...
- Java微信公众号开发之微信公众平台接入开发者
微信开发者接入官方文档 : https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421135319 一.微信公共号通讯机制 作为开发 ...
- ThinkPHP5.0微信公众号开发之 微信公众号接入
ThinkPHP5.0 微信公众号接入 第一步:准备工作 首先,要有自己的公众号(这句是废话),个人可以申请微信公众号的订阅号,企业才可以申请服务号,其次要有云空间或者服务器,并且将服务器IP添加至微 ...
- 微信公众号开发,微信支付功能开发(网页JSAPI调用)
1.微信支付的流程 如下三张手机截图,我们在微信网页端看到的支付,表面上看到的是 "点击支付按钮 - 弹出支付框 - 支付成功后出现提示页面",实际上的核心处理过程是: 点击支付按 ...
最新文章
- JS中的7种设计模式
- centos7镜像加速_虚拟机 Linux CentOS7 安装Docker 详解:使用 阿里云Yum源;附加云镜像加速器...
- 魔兽怀旧服怎么找不到服务器,魔兽世界怀旧服无法连接服务器怎么解决 服务器连接不上解决方法...
- nginx之 nginx-1.9.7 编译安装、理论简介
- python windows错误码
- Linux无盘工作站架设实例
- vue2.0-axios is defined
- JS阻止冒泡方法(转)
- Linux Apache服务详解——用户个人主页实战
- 相似图片搜索的原理(二)(转)
- 使用Ligolo-ng建立隐蔽的通信信道
- WEB前端知识大整合之JS表单验证
- THUSC2021游记
- solidity-msg.sender到底是什么?
- 南京移动开发者沙龙(创业邦+果合)
- 小i机器人要求苹果公司停售iPhone产品
- android仿微信充值布局,仿微信充值金额输入框-自定义EditText
- linux快速同步多台服务器之间的数据scp和rsync命令用法
- 给 iOS 装上旧版 APP,十年前的 iPad mini 重获新生!
- android替换Glide通讯组件为Okhttp并监控加载进度,安卓rxjava获取网络时间
热门文章
- JavaScript 利用Ajax制作一个汇率转换器
- Ubuntu 20.04 创建桌面快捷方式
- select2.js插件支持拼音搜索(最新版-4.0.6)
- springcloud之gateway的使用
- Gateway服务网关
- 「小狼毫」-- rimeime 中州韵输入法引擎
- 电子设计教程53:555定时器工作原理与常见应用
- mysql 累乘_oracle sql语句实现累加、累减、累乘、累除
- 安装cad提示command_win7系统安装CAD软件失败总是提示“错误1327”怎么解决
- 硬件设计——一键开关机