首先呢,在弄这方面的时候,需要有自己的服务器资源,想玩的童鞋,可以到各种阿里云,
百度云等等上面去买一个云服务器资源.(价格很低.) 1M带宽完全够用的(只用于微信开发的话).
然后配置好自己的服务器IIS,FTP文件共享等.不懂的童鞋自行问度娘.
这里为了方便直接创建aspx项目.
public string token = "123456"; //自定义的token
protected void Page_Load(object sender, EventArgs e)
{
if (string.IsNullOrEmpty(token))
{
return;
}
string echoString = HttpContext.Current.Request.QueryString["echoStr"];
string signature = HttpContext.Current.Request.QueryString["signature"];
string timestamp = HttpContext.Current.Request.QueryString["timestamp"];
string nonce = HttpContext.Current.Request.QueryString["nonce"];
//验证signature
bool result = getMessage(timestamp, nonce, signature);
//日志记录验证结果
LogHelper.WriteLog(string.Format("result:{0}", result), LogLevel.DEBUG);
if (result)
{
if (!string.IsNullOrEmpty(echoString))
{
HttpContext.Current.Response.Write(echoString);
HttpContext.Current.Response.End();
}
}
}
/// <summary>
/// //验证signature
/// </summary>
/// <param name="timestamp"></param>
/// <param name="nonce"></param>
/// <param name="signature"></param>
/// <returns></returns>
private bool getMessage(string timestamp, string nonce,string signature)
{
//字典排序
string[] ss = { token, timestamp, nonce };
var list = ss.OrderBy(x => x, StringComparer.Ordinal).ToArray();
string resultEchoString = string.Join("", list);
//sha1加密
resultEchoString = FormsAuthentication.HashPasswordForStoringInConfigFile(resultEchoString, "SHA1");
if (resultEchoString != null)
{
resultEchoString = resultEchoString.ToLower();
//LogHelper.WriteLog(string.Format("resultEchoString:{0}", resultEchoString), LogLevel.DEBUG);
return resultEchoString == signature;
}
return false;
}
然后发布自己的项目,上传到服务器,IIS发布出去,得到URL地址.
到接口测试号配置那里配置,
填写URL地址,Token 要和自己的Token一样,否则验证失败.
在服务器上日志里也可以查看是否验证成功.
本篇文章 适合才入门微信开发的人员浏览,大腿请无视.
有问题欢迎大家提出来.喜欢的可以收藏