公众号开发者中心服务器配置,微信公众号开发--开发者服务器接口配置

俗话说,万事开头难。对于刚刚接触微信公众号开发的小白来说,进行服务器验证往往难住了一大片开发者。在这里记录一下我的验证方法,希望能帮助到大家!

根据微信公众平台的接入指南,先把准备工作做完:有自己的服务器,且已配置域名可以访问,我是在 nodejs 环境下进行开发的,使用的 express 框架,所以你还要安装好 nodejs 环境和 express 框架;

接下来我们看具体怎么操作:

先看一下目录结构:

64e7a33ca4115d9d33c0212ec8d98f1a.png

创建 config 配置文件

在项目跟目录创建 config 目录,在该目录下新建 config.json 文件:

{

"wechat": {

"appID": "wxab83a07fab75f836",

"appSecret": "8e42ec4e0b959f5e228a77ccb0f9e45d",

"token": "weixin"

}

}

封装签名认证模块

在项目根目录新建 common 目录,在该目录下新建 utils.js 文件,根据 接入指南 需要对 token、timestamp、nonce 三个参数字典序排序拼接成的字符串进行 sha1 加密,所以我们需要先安装 sha1 依赖模块:

npm install sha1 --save

然后在 utils.js 文件中引入:

let utils = {}

const sha1 = require('sha1')

// 微信开发者服务器验证模块中间件

utils.sign = function(config) {

return function(req, res, next) {

config = config || {}

let query = req.query,

token = config.wechat.token, // 从 config 配置文件中获取 token

signature = query.signature, // 微信加密签名

nonce = query.nonce, // 随机数

timestamp = query.timestamp, // 时间戳

echostr = query.echostr // 随机字符串

/**

* 1)将 token、timestamp、nonce 三个参数进行字典序排序

* 2)将三个参数字符串拼接成一个字符串进行 sha1 加密

* 3)开发者获得加密后的字符串可与 signature 对比,标识该请求来源于微信

*/

let ttnStr = [token, timestamp, nonce].sort().join(''),

shaStr = sha1(ttnStr)

if(req.method === 'GET') {

if(shaStr === signature) {

res.send(echostr)

}else{

res.send('This GET request is not from WeChat server.')

}

} else if(req.method == 'POST'){

if(shaStr != signature) {

return

}

next()

}

}

}

module.exports = utils

引入服务器验证模块中间件

在 app.js 中引入 utils.js 和 config.json,然后使用验证模块中间件:

const express = require('express')

// 引入 utils.js 和 config.json

const config = require('./config/config.json')

const utils = require('./common/utils')

const app = express()

app.use(express.query())

// 定义路由并使用微信开发者服务器验证模块中间件

app.use('/', utils.sign(config))

app.listen(3000)

运行 node 服务,然后在公众号后台进行服务器的配置验证;

为了方便调试,可以申请微信公众平台测试号,使用测试号进行接口配置,需要注意的是使用测试号进行调试的时候记得将 config.json 文件中的 appID 和 appSecret 修改为测试号的信息,token 也要和测试号的接口配置信息一栏中的 token 保持一致。

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值