首页 > 网站 > 建站经验 > 正文

asp.,net开发微信公众平台之验证消息的真实性

2019-11-02 15:42:38
字体:
来源:转载
供稿:网友

   这篇文章主要介绍了asp.net开发微信公众平台之验证消息的真实性的相关资料,需要的朋友可以参考下

  验证消息的真实性

  在MVC Controller所在项目中添加过滤器,在过滤器中重写

  public override void OnActionExecuting(ActionExecutingContext filterContext)方法

  新建数据模型

  注:服务器接收消息时,不再是signature而是msg_signature

  微信服务器推送消息到服务器的HTTP请求报文示例

  POST /cgi-bin/wxpush? msg_signature=477715d11cdb4164915debcba66cb864d751f3e6×tamp=1409659813&nonce=1372623149 HTTP/1.1

  Host: qy.weixin.qq.com

  方法重写,实现对消息的验证

  调用微信接入时验证的方法,不过参数需要小改动一下,采用新建的数据模型

  在Action方法或在Controller上添加过滤器属性

  代码示例

  Model

  ?

1 2 3 4 5 6 7 8 9 10 /// <summary> /// 微信推送消息模型 /// </summary> public class WeChatMsgRequestModel { public string timestamp { get; set; } public string nonce { get; set; }   public string msg_signature { get; set; } }

  Filter

  ?

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 public class WeChatRequestValidAttribute : ActionFilterAttribute { private const string Token = "StupidMe";   public override void OnActionExecuting(ActionExecutingContext filterContext) { //参数适配 Model.FormatModel.WeChatMsgRequestModel model = new Model.FormatModel.WeChatMsgRequestModel() { nonce= filterContext.HttpContext.Request.QueryString["nonce"],msg_signature= filterContext.HttpContext.Request.QueryString["msg_signature"],timestamp=
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表