微信token认证源码分享(c#版)

在开发时遇到一个问题:

  上线后提交申请微信提示"您的服务器没有正确响应token验证。。。",我查看日志发现根本就没有接收到来自微信的参数。

后来我又记录了微信请求方式和请求的字符串,想看看微信服务器到底有没有给我的服务器响应请求。结果是有的。并且通过了。

代码就添加了Request.HttpMethod和Request.QueryString没变,但不晓得怎么回事。

 /// <summary> 按照api说明对signature进行校验,校验成功返回参数echostr </summary>
        /// <returns></returns>
        public string CheckSign()
        {
            var httpMethod = Request.HttpMethod.ToLower();
            string httpString = string.Empty;
            if (httpMethod == "get")
            {
                httpString = Request.QueryString.ToString();
            }
            else if (httpMethod == "post")
            {
                httpMethod = Request.Form.ToString();
            }
            else
            {
                httpMethod = "请求方式不是get和post";
            }
            var strSignature = Request["signature"];
            var strEchostr = Request["echostr"];
            var strToken = "58jiancai";
            var strTimestamp = Request["timestamp"];
            var strNonce = Request["nonce"];

            log4net.LogManager.GetLogger("请求方式").Info(httpMethod);
            log4net.LogManager.GetLogger("请求字符串").Info(httpString);
            log4net.LogManager.GetLogger("pram1.strSignature").Info(strSignature);
            log4net.LogManager.GetLogger("pram2.strEchostr").Info(strEchostr);
            log4net.LogManager.GetLogger("pram3.strToken").Info(strToken);
            log4net.LogManager.GetLogger("pram4.strTimestamp").Info(strTimestamp);
            log4net.LogManager.GetLogger("pram5.strNonce").Info(strNonce);

            //step1:字典序排序
            string[] array = new[] { strToken, strTimestamp, strNonce };
            Array.Sort(array);
            log4net.LogManager.GetLogger("sort").Info(array[0] + "||" + array[1] + "||" + array[2]);

            //step2:sha1加密
            var strResult = FormsAuthentication.HashPasswordForStoringInConfigFile(string.Concat(array), "SHA1").ToLower();
            log4net.LogManager.GetLogger("sha1").Info(strResult);

            //step3:加密后的字符串与参数signature值比较
            if (strResult == strSignature.ToLower())
            {
                log4net.LogManager.GetLogger("result").Info("success");
                return strEchostr;
            }
            log4net.LogManager.GetLogger("result").Info("fail");
            return string.Empty;
        }

微信token认证源码分享(c#版)

时间: 2024-10-24 20:07:06

微信token认证源码分享(c#版)的相关文章

微信TOKEN验证源码

using System;using System.Collections.Generic;using System.Web;using System.Web.UI;using System.Web.UI.WebControls;using System.Data;using System.IO;using System.Net;using System.Text;using System.Xml;using System.Web.Security; public partial class w

插件一:微信砍价活动源码分享[商品帮砍到0元,免费领取奖品]

插件一:微信砍价活动源码分享 [商品帮砍到0元,免费领取奖品] 活动描述: 砍价活动即公众号向粉丝推广的0价赠商品(或优惠价购商品)活动,用户通过分享好友帮其砍价,可将价格从原价一路砍到底价,并抢得名额. 活动体验方法:      1.搜索 "jeewx521",关注捷微公众账号   2.输入关键字"砍价" 砍价源码下载:       https://code.csdn.net/zhangdaiscott/p3-weixin 活动参与演示: 第一步:报名参加活动(点

JEECG社区 一个微信教育网站案例源码分享

微信教育网站案例演示: http://t.cn/RvPgLcb 源码分享: http://pan.baidu.com/s/1cUImy 截图演示: JEECG社区 一个微信教育网站案例源码分享,布布扣,bubuko.com

仿乐享微信源码分享,把你的生意做到微信里

99%的人不知道的微信秘密!微信里的商机.仿乐享微信源码分享,把你的生意做到微信里. WeiKuCMS  (微酷CMS)功能特点:人工客服新功能正式上线!粉丝行为分析.渠道二维码生成.二维码折扣,微菜单,微统计,会员卡签到,微会员,刮刮卡,大转盘,优惠券,积分兑换,微官网,砸金蛋,微调研,微投票,微相册,微商城,微团购,微留言,微喜帖,商家入驻,微门店,微餐饮,微酒店,微教育,微物业,微医疗,微信墙,微花店,微美容,微生活. 微信公共账号轻松接入,无限自定义图文回复.欢迎您的加入! 微酷WeiK

微信小程序源码下载(200多个)

微信小程序源码下载汇总,点击标题进入对应的微信小程序下载页面. 最新 demo源码(点击标题进入帖子下载) 描述 1 微信小程序 会议室预定小程序 微信小程序 会议室预定小程序**** 本内容被作者隐藏 **** 2 微信小程序-双人五子棋小游戏 微信小程序-双人五子棋小游戏**** 本内容被作者隐藏 **** 3 打卡签到小程序 用微信小程序实现的一个简单的打卡签到的小程序拒绝 4 微信小程序---左滑删除 微信小程序---左滑删除**** 本内容被作者隐藏 **** 5 一个借钱的记事本的微

微信广告植入源码微信弹窗广告源码朋友圈微信广告系统源代码PHP

这款源码是PHP版的.(V2.0代理版)二次开发后增加了前端用户帐号注册功能并赠送10条的文章发布次数. 已经解决微信图片调用不正常的问题! 2016-04-28 掌上推广源码 更新: 1,增加文章编辑功能. (初版编辑功能,建议电脑编辑好以后再用手机分享,因为有的手机浏览器兼容性问题) 如果不喜欢这个编辑功能,可以使用原版cjsave.php.原版edit.php替换掉cjsave.php和edit.php文件. 2,增加[联系客服 kefu.php][使用教程 syjc.php][会员代理

【迪士尼彩乐园】全套源码分享下载带急速赛车,后台带AB盘完美无错

[迪士尼彩乐园]全套源码分享下载带急速赛车,后台带AB盘完美无错 运行环境:php5.2+mysql 下载地址:http://fanshubbs.com/thread-245-1-1.html 源码类别:时时彩(彩票)现金网系统/两面盘 界面语言:简体中文 源码授权:无加密文件及认证授权,永久性可直接使用. 版本支持:PC/WAP网页版 编程语言:PHP 手机版独家对接的,完整无错! 此源码经过测试人员实测截图,保证100%和截图一致!!! 原文地址:https://www.cnblogs.co

【迪士尼彩乐园】全套源码分享下载带三个急速,后台带AB盘完美无错

[迪士尼彩乐园]全套源码分享下载带三个急速,后台带AB盘完美无错联系Q:2947702644 源码类别:时时系统/两面盘界面语言:简体中文源码授权:无加密文件及认证授权,永久性可直接使用.版本支持:PC/WAP网页版编程语言:PHP ThinkPHP是一个快速.简单的基于MVC和面向对象的轻量级PHP开发框架,遵循Apache2开源协议发布,从诞生以来一直秉承简洁实用的设计原则,在保持出色的性能和至简的代码的同时,尤其注重开发体验和易用性,并且拥有众多的原创功能和特性,为WEB应用开发提供了强有

AppCan 移动应用开发项目源码分享:嗡嗡旅游App开发

开发者介绍:老家湖北巴东好山好水,神农溪.巴人河.三里城等都是旅游好去处.中秋节回了趟老家,看到家乡的原生态景色吸引了大批游客,由此萌发了想法:用移动技术开发一个App试水,把家乡景点介绍给更多的人.于是,耗时一个月的<嗡嗡旅游>应运而生,特此将项目源码分享给广大AppCan开发者. 项目实现功能 用户注册.登录,游记查看和发布,查看辖区内景区.酒店.交通.攻略等信息,内容收藏.评论和分享,查看地图,景区门票.酒店电话预定等. 项目使用插件 引导页 引导页3张图片采用的是全屏显示的slider