您的位置:首页 > 移动开发 > 微信开发

微信接入验证Nodejs版例子程序

2016-02-22 18:35 429 查看

微信接入验证Nodejs版例子程序

项目地址: https://github.com/windsome/node-wechat-check-signature.git

介绍

本程序按照微信公众平台开发者文档>开始开发>接入指南,进行开发。

微信使用第三方服务器时要求配置服务器

登录公众平台后,在 基本配置->填写服务器配置 中修改信息时要求填写的URL能正确响应微信发送的Token验证。修改完成后提交时,会去检测URL及TOKEN是否正确,验证正确后返回echostr即表示第三方服务器配置正确,否则错误,见 http://mp.weixin.qq.com/wiki/8/f9a0b8382e0b77d87b3bcc1ce6fbc104.html

微信已经提供了php版本,见 http://mp.weixin.qq.com/mpres/htmledition/res/wx_sample.20140819.zip ,但未提供nodejs版本。

这个验证只是为了确认第三方服务器能将微信服务器发的echostr原样返回(其实还不如不要,估计是微信不希望别人频繁改这个URL)。修改成功后,使用过程中可以将这部分删掉。

前置要求

1, 已经有一台云服务器,已在阿里云上购买

2, 要求有一个域名,已在阿里云上购买

3, 要求域名指向的空间已经备案,已在阿里云上备案

使用方法

以下操作得在服务器上运行,并且此服务器有符合微信要求的域名

1:下载项目

git clone https://github.com/windsome/node-wechat-check-signature.git[/code] 
2:修改checkSign.js中的TOKEN,修改成你自己在微信中填的那个。

3:
npm install


4:
sudo npm start


5:再去微信中修改URL为 http://wx.qingshansi.cn/weixin ,提交验证即可

6:之后开发中的微信机器人等也用这个URL

问题列表

1, 修改完配置提交时,提示 “请求URL超时”,有多种可能性。

a)URL写的不对,微信不能访问到

b)域名解析不对,可能刚修改完域名指向,DNS还未全部解析。如果用阿里云的解析,修改完域名地址对应后,需要大概10分钟,微信端服务器才会解析到新的ip地址。

c)服务器在公司内网或者家庭网的内网中,这种服务器响应慢,微信的请求根本就到不了自己的服务器,解决办法是使用阿里云或腾讯云。(我在这里纠结很久,把网站部署到公司内部的老观念不行了。)

d)服务器没有备案,请求会发到服务器,并且也会被成功执行,但阿里云上没备案的网站会返回阿里云的界面,微信就收不到期望的echostr。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: