微信公众号开发 asp.net mvc 如何验证服务器地址

一、保证令牌(Token)一致

      例如:微信公众号开发平台的基本配置中token为hello,那么后台代码中验证的token也要为token

二、后台代码

     基本配置中的URL填写的是你具体验证的地址,例如http://www.baidu.com/Home/WeiXin域名所绑定的ip地址需要开通80端口(443端口目前没有尝试),域名需要ICP认证,一套下来很烦,需要很长世间。

     具体代码:HomeController类中

     //定义Token,与微信公众平台保持一致

     private const string Token = "hello";

    //微信验证端口
        public ActionResult WeiXin() {
            string echoStr = Request.QueryString["echoStr"];
            string signature = Request.QueryString["signature"];
            string timestamp = Request.QueryString["timestamp"];
            string nonce = Request.QueryString["nonce"];
            if (CheckSignature(Token, signature, timestamp, nonce) && !string.IsNullOrEmpty(echoStr))
            {
                Response.Write(echoStr);
                Response.End();
            }
            return View();

        }

 //微信密码验证
        private static bool CheckSignature(string Token, string signature, string timestamp, string nonce)
        {
            string[] arrTmp = { Token, timestamp, nonce };
            Array.Sort(arrTmp);
            string tmpStr = string.Join("", arrTmp);
            tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");
            if (tmpStr != null)
            {
                tmpStr = tmpStr.ToLower();
                return tmpStr == signature;
            }
            return false;

        }

三、总结

     代码复制,直接可以使用。本人从网上找了很多,都没什么用,网上的方法说的很模糊,遇事必躬亲啊


   


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值