微信开发者模式接入成功后接收用户消息:
此后,每次开发者接收用户消息的时候,微信也都会带上前面三个参数(signature、timestamp、nonce)访问开发者设置的URL,开发者依然通过对签名的效验判断此条消息的真实性。效验方式与首次提交验证申请一致。
问题是现在接收到了用户发送过来的消息,但是怎么验证消息来自微信。
也就是怎么在POST数据中找到signature、timestamp、nonce 三个参数的内容。
[HttpPost] public void InterFace(FormCollection collection) { StreamReader sr= new StreamReader(Request.InputStream); using (StreamWriter sw = System.IO.File.CreateText(@"D:\3.txt")) { sw.WriteLine(sr.ReadToEnd());//这里读到的全是用户消息内容,并没有微信SDK说的那三个验证参数 } }
string signature = Request["signature"];
string timestamp = Request["timestamp"];
string nonce = Request["nonce"];