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中的情况

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值