流程以下:服務器
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 後會提示配置成功