1500字范文,内容丰富有趣,写作好帮手!
1500字范文 > 微信公众平台开发者中心服务器配置Token验证失败问题

微信公众平台开发者中心服务器配置Token验证失败问题

时间:2024-06-28 13:56:53

相关推荐

微信公众平台开发者中心服务器配置Token验证失败问题

微信发展如火如荼,没有哪家的企业营销能避开微信不谈的,那像我们这种给客户实施项目的多多少少会涉及微信端的开发,本文只要给从未做过微信开发的人做一些简单的演示,行家里手们可以呵呵一下该干嘛干嘛去了。

微信的开发网上的很多教程都是php的,如果会php的朋友可以参考这个教程:/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 (CheckSignature()&&!string.IsNullOrEmpty(echoStr)){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;}}

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。