流程以下:服务器
1. 申请微信公众号:企业号、服务号、订阅号(前两个要钱)微信
2. 配置微信公众号后台app
选择基本配置,得到 AppId 和 AppSecret ,点击服务器配置工具
URL:你服务器地址,不能是IP地址,并且域名必须指向80端口,没有固定域名的同志能够使用natapp,基于ngrok的域名映射工具加密
Token: 本身生成spa
EncodingAESKey: 点击随机生成code
完成填写后点击提交,微信会向你填写的地址发送一个请求,而后你须要把他发送的 echoStr 返回,因此事先须要在本身服务器上写一段代码,以下:blog
我项目目录下排序
我把微信配置项放在config目录下ws.js文件中:token
const wxConfig = { appId: '******', appSecret: '******', token: '*****' } module.exports = wxConfig
每次微信服务器请求第三方服务器会携带 signature nonce timestamp 字段,在配置服务项时还会携带 echoStr 字段
咱们能够经过将token(保存在配置项) nonce timestamp 排序,而后拼接,而后 sha1 加密后与 signature 比较,若是相等则改请求为微信服务器发送
代码:
var token = wxConfig.token var signature = req.query.signature var nonce = req.query.nonce var timestamp = req.query.timestamp var echostr = req.query.echostr var str = [token, timestamp, nonce].sort().join('') var sha = sha1(str) if (sha === signature) { res.send(echostr) }else{ res.send('error') }
微信服务器收到 echoStr 后会提示配置成功