node(koa2)微信公众号接口认证

使用微信测试号, 花生壳内网穿透,

需要注意 token 两边都是自定义, 需要保持一致

代码实现

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
const Koa = require('koa')
const sha1 = require('sha1')

const app = new Koa()

const config = {
wechat: {
appID: '', //填写你自己的appID
appSecret: '', //填写你自己的appSecret
token: '' //填写你自己的token
}
}

app.use(async (ctx) => {
const token = config.wechat.token
const signature = ctx.request.query.signature
const nonce = ctx.request.query.nonce
const timestamp = ctx.request.query.timestamp
const echostr = ctx.request.query.echostr
let str = [token, timestamp, nonce].sort().join('')
const sha = sha1(str)
ctx.body = sha === signature ? echostr + '' : 'failed'
})

app.listen(8999, () => {
console.log('node started port 8999')
})

点击验证,显示配置成功即可 测试地址