koa 微信開發 (1) -- 接入指南

申請公衆號

mp.weixin.qq.com 上根據步驟申請一個帳號node

圖片描述

進入公衆號

選擇開發--基本配置,進行修改配置瀏覽器

圖片描述

服務器編寫

根據文檔,咱們須要作的是服務器

接入微信公衆平臺開發,開發者須要按照以下步驟完成:
一、填寫服務器配置
二、驗證服務器地址的有效性
三、依據接口文檔實現業務邏輯

當你在配置中寫完配置,要提交的時候,微信會對你填寫的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 或者 443this

  • 若是驗證失敗,能夠在瀏覽器的開發者模式下,查看network中的狀況加密

相關文章
相關標籤/搜索