文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

ASP.net Core微信平台开发怎么配置Token

2023-06-30 11:18

关注

今天小编给大家分享一下ASP.net Core微信平台开发怎么配置Token的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来了解一下吧。

首先登录开发者平台,点击开发者工具---》公众平台测试账号

ASP.net Core微信平台开发怎么配置Token

然后就需要配置我们的接口信息了 

ASP.net Core微信平台开发怎么配置Token

先创建一个配置实体

 public class WeChatRequestModel    {        public string signature { get; set; }        public string timestamp { get; set; }        public string nonce { get; set; }        public string echostr { get; set; }    }

然后我们只需要在HomeController控制器上有一段代码就可以配置Token了

          /// <summary>        /// 定义Token,与微信公共平台上的Token保持一致        /// </summary> private const string Token = "StupidMe";   public void Valid(WeChatRequestModel model)        {            //获取请求来的 echostr 参数            string echoStr = model.echostr;            //通过验证,出于安全考虑。(也可以跳过)            if (CheckSignature(model))            {                if (!string.IsNullOrEmpty(echoStr))                {                    //将随机生成的 echostr 参数 原样输出                    Response.WriteAsync(echoStr);                    //截止输出流                    //Response.end();                }            }        }

但是出于安全考虑,弄了一个CheckSignature(model),进行验证(可以不用只是不安全)

/// <summary>        /// 验证签名,检验是否是从微信服务器上发出的请求        /// </summary>        /// <param name="model">请求参数模型 Model</param>        /// <returns>是否验证通过</returns>        private bool CheckSignature(WeChatRequestModel model)        {            string signature, timestamp, nonce, tempStr;            //获取请求来的参数            signature = model.signature;            timestamp = model.timestamp;            nonce = model.nonce;            //创建数组,将 Token, timestamp, nonce 三个参数加入数组            string[] array = { Token, timestamp, nonce };            //进行排序            Array.Sort(array);            //拼接为一个字符串            tempStr = String.Join("", array);            //对字符串进行 SHA1加密            tempStr = Get_SHA1_Method2(tempStr);            //判断signature 是否正确            if (tempStr.Equals(signature))            {                return true;            }            else            {                return false;            }        }

 因为,signature是经过SHA1加密的,所以我们也要,进行一些SHA1加密才可以进行比较

 public string Get_SHA1_Method2(string strSource)        {            string strResult = "";            //Create             System.Security.Cryptography.SHA1 md5 = System.Security.Cryptography.SHA1.Create();            //注意编码UTF8、UTF7、Unicode等的选择             byte[] bytResult = md5.ComputeHash(System.Text.Encoding.UTF8.GetBytes(strSource));            //字节类型的数组转换为字符串             for (int i = 0; i < bytResult.Length; i++)            {                //16进制转换                 strResult = strResult + bytResult[i].ToString("X");            }            return strResult.ToLower();        }

在我们的ASP.net Core写好代码以后,我们就发布了。注意,微信要求必须是80端口,且HTTP协议。

但是因为申请域名、服务器什么的麻烦,所以我就把自己电脑的防火墙关了,把项目发布到本机的IIS。然后在花生壳买了个域名,把自己的项目配上去就可以了(花了我18块,心疼)。

ASP.net Core微信平台开发怎么配置Token

ASP.net Core微信平台开发怎么配置Token

这样只,我们最基础的配置代码就完成了,然后把我们的Valid接口配过去就成功啦!!!!

(或许一开始会失败,因为验证比较慢,点多几次就成功了)

ASP.net Core微信平台开发怎么配置Token

以上就是“ASP.net Core微信平台开发怎么配置Token”这篇文章的所有内容,感谢各位的阅读!相信大家阅读完这篇文章都有很大的收获,小编每天都会为大家更新不同的知识,如果还想学习更多的知识,请关注编程网行业资讯频道。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯