koa 微信开发 (1) -- 接入指南
申请公众号
在 mp.weixin.qq.com 上根据步骤申请一个账号
进入公众号
选择开发--基本配置,进行修改配置
服务器编写
根据文档,我们需要做的是
接入微信公众平台开发,开发者需要按照如下步骤完成:1、填写服务器配置2、验证服务器地址的有效性3、依据接口文档实现业务逻辑
当你在配置中写完配置,要提交的时候,微信会对你填写的url发送一个get请求, 包括:
参数 描述signature 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。timestamp 时间戳nonce 随机数echostr 随机字符串
服务器配置如下:
router.get('/wechat', function *() { // 获取微信的请求,注意是 get var signature = this.query.signature; var echostr = this.query.echostr; var timestamp = this.query.timestamp; var nonce = this.query.nonce; // 这里的token 要和你表单上面的token一致 var token = 'MMDBB'; // 根文档上面的,我们需要对这三个参数进行字典序排序 var arr = [token, timestamp, nonce]; arr.sort(); var tmpStr = arr.join(''); // 排序完成之后,需要进行sha1加密, 这里我们使用node.js 自带的crypto模块 var sha1 = crypto.createHash('sha1'); sha1.update(tmpStr); var resStr = sha1.digest('hex'); console.log(signature, 'resStr: ', resStr); // 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信, // 如果匹配,返回echoster , 不匹配则返回error if (resStr === signature) { this.body = echostr; } else { return false; } });
需要注意的点:
url 的端口必须是80 或者 443
如果验证失败,可以在浏览器的开发者模式下,查看network中的情况
关键字:koa, 微信, node.js, var
版权声明
本文来自互联网用户投稿,文章观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处。如若内容有涉嫌抄袭侵权/违法违规/事实不符,请点击 举报 进行投诉反馈!