在 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中的狀況加密