nodejs中微信公众号开发-接口配置和签名验证
2016-08-16 16:36
267 查看
意外金喜的博客 : http://blog.csdn.net/zzwwjjdj1
-- 创建项目
nodejs微信开发,本文介绍的是在express中使用express命令行创建项目 :点击这里,
创建项目 : weixin_express
-- 使用的模块
sha1 : 加密模块安装 : npm install sha1 -save
-- 改造项目
--创建config文件夹
项目根目录下创建config文件夹,在config文件夹下添加config.json文件,主要是appID,token等
这些基本参数在微信号个人中心有,复制过来就是了.token必须和配置接口的token一致
{ "wechat" : { "appID": "wx2e8f977800a3c2b8", "appSecret": "c99b4dde849ae0ae58e2026ce5f28f1a", "token": "wxexpress", "prefix": "https://api.weixin.qq.com/cgi-bin/", "mpPrefix": "https://mp.weixin.qq.com/cgi-bin/" } }
-- 封装签名认证
项目根目录下创建common文件夹,在common文件夹下添加utils.js文件
var utils = {}; var sha1 = require('sha1'); //检查微信签名认证中间件 utils.sign = function (config){ return function(req, res, next){ config = config || {}; var q = req.query; var token = config.wechat.token; var signature = q.signature; //微信加密签名 var nonce = q.nonce; //随机数 var timestamp = q.timestamp; //时间戳 var echostr = q.echostr; //随机字符串 /* 1)将token、timestamp、nonce三个参数进行字典序排序 2)将三个参数字符串拼接成一个字符串进行sha1加密 3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信 */ var str = [token, timestamp, nonce].sort().join(''); var sha = sha1(str); if (req.method == 'GET') { if (sha == signature) { res.send(echostr+'') }else{ res.send('err'); } } else if(req.method == 'POST'){ if (sha != signature) { return; } next(); } } }; module.exports = utils;
--引入中间件
在app.js文件中引入utils.js和config.json,然后使用签名认证中间件认证的代码已经完了,注意app.js中代码的顺序.
-- 接口配置
申请了一个微信测试账号这个url就是你项目的url了.在我的项目中对应的是 http://localhost:3000/,通过QQ浏览器插件配置,
如何在本地进行微信公众号的开发和调试 : http://blog.csdn.net/zzwwjjdj1/article/details/52221493
-- 验证签名
点击提交后:后台输出参数:
微信签名认证算是代码的第一步,迈出去了.后面接着坑.
项目结构:
这个过程就添加了2个文件,修改了app.js文件
意外金喜的博客 : http://blog.csdn.net/zzwwjjdj1
相关文章推荐
- 微信公众号开发-签名验证本地服务器方法
- 企业微信JS-SDK开发(一)------通过config接口注入权限验证配置
- 关于ThinkPHP框架开发微信公众号在微信后台配置服务器URL提示Token验证失败的解决方案
- 微信公众号开发(一)服务器及接口的配置
- C#微信网页开发---JSSDK使用 通过config接口注入权限验证配置
- java+jsp微信开发入门教程 jssdk,通过config接口注入权限验证配置,微信开发教程
- 微信开发之——JSSDK,通过config接口注入权限验证配置
- PHP接口开发签名验证原理详解
- 详解nodejs微信公众号开发――5.素材管理接口
- 4 配置接入验证微信公众号--开发微信的第一道坎儿
- Java开发微信公众号-接口测试帐号接口配置及Java源代码
- 配置微信公众号二次开发接口java代码
- thinkphp开发微信公众号时,验证基本配置提示请求url超时
- 百度虚拟主机微信公众号开发接口配置成功但个服务器发送消息提示“公众号提供的服务出现故障”
- 微信公众号开发笔记(一)服务器配置和验证
- 微信公众号开发(一)微信验证开发者服务器接口
- 微信公众号开发 配置服务器URL,验证Token
- 1.PHP微信公众号开发之配置验证
- 微信公众号网页开发js配置服务端签名