微信公众平台开发者中心服务器配置Token验证失败问题
2015-06-22 17:37
567 查看
微信发展如火如荼,没有哪家的企业营销能避开微信不谈的,那像我们这种给客户实施项目的多多少少会涉及微信端的开发,本文只要给从未做过微信开发的人做一些简单的演示,行家里手们可以呵呵一下该干嘛干嘛去了。
微信的开发网上的很多教程都是php的,如果会php的朋友可以参考这个教程:http://www.cnblogs.com/txw1958/p/wechat-tutorial.html。那.net开发平台的伙伴就是另一条路子了,前期如何注册微信公众平台就不说了,直接到开发者中心的服务器配置。微信需要一个web站点来处理各种消息,那去服务器的IIS部署个web站点是必须的了并且将你的web站点url路径填写在下图的url地址栏里(url项里面有说明只支持80端口,听过微信开发的人肯定都知道这条规矩,部署完后要保证你的url是可以访问通的)。但对于初次开发的你来说这就完事了吗,答案显示不是。
下图中的url上面已经说过了,token可以随便定义,EncodingAESKey可以随机生成,只是学习做demo的话消息加密方式明文就好了,点击提交你会发现token始终验证不过,这块就会云里雾里了。
那请教过微信开发的朋友后得知这个token是需要传到后台验证后传回微信的,最简单的示例代码如下,这样你的验证就能过了。
当然你也得验证下该请求是来自微信服务器的你才将你的token信息返回。
微信的开发网上的很多教程都是php的,如果会php的朋友可以参考这个教程:http://www.cnblogs.com/txw1958/p/wechat-tutorial.html。那.net开发平台的伙伴就是另一条路子了,前期如何注册微信公众平台就不说了,直接到开发者中心的服务器配置。微信需要一个web站点来处理各种消息,那去服务器的IIS部署个web站点是必须的了并且将你的web站点url路径填写在下图的url地址栏里(url项里面有说明只支持80端口,听过微信开发的人肯定都知道这条规矩,部署完后要保证你的url是可以访问通的)。但对于初次开发的你来说这就完事了吗,答案显示不是。
下图中的url上面已经说过了,token可以随便定义,EncodingAESKey可以随机生成,只是学习做demo的话消息加密方式明文就好了,点击提交你会发现token始终验证不过,这块就会云里雾里了。
那请教过微信开发的朋友后得知这个token是需要传到后台验证后传回微信的,最简单的示例代码如下,这样你的验证就能过了。
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.Security; using System.Web.UI; using System.Web.UI.WebControls; namespace WebApplication1 { public partial class index : System.Web.UI.Page { const string Token = "TokenWeiXin"; protected void Page_Load(object sender, EventArgs e) { string echoStr = Request.QueryString["echoStr"].ToString(); if (<span style="font-family: Arial, Helvetica, sans-serif;">CheckSignature()&&</span><span style="font-family: Arial, Helvetica, sans-serif;">!string.IsNullOrEmpty(echoStr))</span> { Response.Write(echoStr); Response.End(); } } } }
当然你也得验证下该请求是来自微信服务器的你才将你的token信息返回。
private bool CheckSignature() { string signature = Request.QueryString["signature"].ToString(); string timestamp = Request.QueryString["timestamp"].ToString(); string nonce = Request.QueryString["nonce"].ToString(); string[] ArrTmp = { Token, timestamp, nonce }; Array.Sort(ArrTmp); string tmpStr = string.Join("", ArrTmp); tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1"); tmpStr = tmpStr.ToLower(); if (tmpStr == signature) { return true; } else { return false; } }
相关文章推荐
- 微信公众平台开发者中心服务器配置Token验证失败问题
- 微信公众平台开发者中心服务器配置Token验证失败问题
- 使用ollydbg破解第一个小程序
- 微信开发相关文档
- 微信公共服务平台开发(.Net 的实现)1-------认证“成为开发者”
- 微信公众平台开发:OAuth2.0网页授权
- 微信公众平台开发:JS API支付
- 微信开发手记
- 企业微信营销推广技巧
- 微信公众平台开发_OAuth2.0网页授权
- 微信公众号H5游戏平台完整源码下载(几十款游戏和应用)
- android 自定义listview实现仿微信/QQ设置界面的开发
- [C#]Windows文件分类器小程序
- Android 基于google Zxing实现二维码、条形码扫描,仿微信二维码扫描效果
- 强大的微信或许只是半张船票
- 微信开发-实现jsapi ticket
- MFC小程序
- “人贩子一律死刑”是场失败的微信营销
- 微信分享内容给朋友、朋友圈、QQ、QQ空间等
- 的微信公众号开发 图灵机器人接口允许调用自己的微通道成为一个智能机器人