热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

.netcore2.x-微信开发-测试账号(接口配置信息)配置填写

好久不进行微信开发了,有些遗忘了,在做identity微信授权登录,所以配置下账号。1.环境搭建和配置;你可能说这个有什么好说的,那么问题就来了,授权域名问题,这是个头等问题,下

好久不进行微信开发了,有些遗忘了,在做identity微信授权登录,所以配置下账号。

1.环境搭建和配置;

  你可能说这个有什么好说的,那么问题就来了,授权域名问题,这是个头等问题,下面看操作:

  

  你可能会问这是啥东西,嗯,这是内网穿透的一个功能灵感源自QQ浏览器的插件(已被下架)。这个东西是 NATAPP,,,自行百度,

  1.1.解决域名问题

  在其官网注册---->登录之后----->右侧选择购买隧道---->免费,然后类似如下填写:

  

  截图中我有说明,所以不再写。点击保存之后,页面不要关掉,需要用到上面的authtoken,然后,点击下载 根据自己机器选择不通的版本,先别急着打开,创建一个名称为config.ini的文件,和 下载的exe文件同目录

  复制如下配置:

#将本文件放置于natapp同级目录 程序将读取 [default] 段
#在命令行参数模式如 natapp -authtoken=xxx 等相同参数将会覆盖掉此配置
#命令行参数 -cOnfig= 可以指定任意config.ini文件
[default]
authtoken=你的authtoken                     #对应一条隧道的authtoken
clienttoken= #对应客户端的clienttoken,将会忽略authtoken,若无请留空,
log=none #log 日志文件,可指定本地文件, nOne=不做记录,stdout=直接屏幕输出 ,默认为none
loglevel=ERROR #日志等级 DEBUG, INFO, WARNING, ERROR 默认为 DEBUG
http_proxy= #代理设置 如 http://10.123.10.10:3128 非代理上网用户请务必留空

   此时再双击 .exe的工具即可

  执行结果如开篇见到的结果。

  

   1.2.修改项目中的配置

  项目修改如下(右击项目---->属性):

  

  这时候再F5抛起我们的项目就行了,完美解决了无需发布、无需域名 就可以直接进行微信开发测试。

  跑起项目结果:

  

  使用的域名就是natapp给我们生成的。

  1.3.微信测试配置

  测试账号地址:https://mp.weixin.qq.com/debug/cgi-bin/sandboxinfo?action=showinfo&t=sandbox/index

  测试配置:

  

   这里有第一个关卡需要闯过,就是这个URL,和token的配置,,,不测试下,,鬼知道怎么配。

  先看我们的API中的 最后一个接口(上截图中的最后一个),代码如下:

/// 
        ///     微信测试token验证地址
        /// 
        /// 
        [HttpGet]
        public async Task CheckSignature()
        {
            var signature = HttpContext.Request.Params("signature");
            var echostr = HttpContext.Request.Params("echostr");
            var timestamp = HttpContext.Request.Params("timestamp");
            var nOnce= HttpContext.Request.Params("nonce");

            string[] ArrTmp = { AppSettingManager.Get("ESoftor:Jwt:Secret"), timestamp, nonce };
            Array.Sort(ArrTmp);     //字典排序
            string tmpStr = string.Join("", ArrTmp);
            //tmpStr = FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");
            tmpStr = Security.HashHelper.GetSha1(tmpStr);
            tmpStr = tmpStr.ToLower();
            if (tmpStr == signature)
            {
                return await Task.FromResult(Content(echostr));
            }
            return await Task.FromResult(Content(""));
        }
View Code

  这个接口就是用来验证这个sign的,算法规则是WX官方定义的,,,你也可以直接复制我这个,完全OK。

  然后跑起我们的项目,并在 if判断等于的那里 加上断点,这时候回到微信配置,输入 域名+api/controller名称/action名称,我这里是 http://9zdkkz.natappfree.cc/api/Identity/CheckSignature

  并填写token(随便写),但是要和你计算 sign的时候使用的一样,也就是我配置在 配置文件中的AppSettingManager.Get("ESoftor:Jwt:Secret")的值

  然后点击 微信配置的 提交,这时候就会进入我们的项目 并被端点到。

 

其实重点是 网页账号 -- > 网页授权获取用户基本信息 的配置,填入域名即可,上面的那个其实可以不用填,但是可以帮助我们测试我们的配置是否正确。

  嗯,完美。

 


推荐阅读
  • 超级简单加解密工具的方案和功能
    本文介绍了一个超级简单的加解密工具的方案和功能。该工具可以读取文件头,并根据特定长度进行加密,加密后将加密部分写入源文件。同时,该工具也支持解密操作。加密和解密过程是可逆的。本文还提到了一些相关的功能和使用方法,并给出了Python代码示例。 ... [详细]
  • Iamtryingtomakeaclassthatwillreadatextfileofnamesintoanarray,thenreturnthatarra ... [详细]
  • Spring源码解密之默认标签的解析方式分析
    本文分析了Spring源码解密中默认标签的解析方式。通过对命名空间的判断,区分默认命名空间和自定义命名空间,并采用不同的解析方式。其中,bean标签的解析最为复杂和重要。 ... [详细]
  • 开发笔记:加密&json&StringIO模块&BytesIO模块
    篇首语:本文由编程笔记#小编为大家整理,主要介绍了加密&json&StringIO模块&BytesIO模块相关的知识,希望对你有一定的参考价值。一、加密加密 ... [详细]
  • 本文介绍了Java工具类库Hutool,该工具包封装了对文件、流、加密解密、转码、正则、线程、XML等JDK方法的封装,并提供了各种Util工具类。同时,还介绍了Hutool的组件,包括动态代理、布隆过滤、缓存、定时任务等功能。该工具包可以简化Java代码,提高开发效率。 ... [详细]
  • 使用Ubuntu中的Python获取浏览器历史记录原文: ... [详细]
  • MyBatis多表查询与动态SQL使用
    本文介绍了MyBatis多表查询与动态SQL的使用方法,包括一对一查询和一对多查询。同时还介绍了动态SQL的使用,包括if标签、trim标签、where标签、set标签和foreach标签的用法。文章还提供了相关的配置信息和示例代码。 ... [详细]
  • 本文介绍了深入浅出Linux设备驱动编程的重要性,以及两种加载和删除Linux内核模块的方法。通过一个内核模块的例子,展示了模块的编译和加载过程,并讨论了模块对内核大小的控制。深入理解Linux设备驱动编程对于开发者来说非常重要。 ... [详细]
  • 模板引擎StringTemplate的使用方法和特点
    本文介绍了模板引擎StringTemplate的使用方法和特点,包括强制Model和View的分离、Lazy-Evaluation、Recursive enable等。同时,还介绍了StringTemplate语法中的属性和普通字符的使用方法,并提供了向模板填充属性的示例代码。 ... [详细]
  • 本文讨论了在VMWARE5.1的虚拟服务器Windows Server 2008R2上安装oracle 10g客户端时出现的问题,并提供了解决方法。错误日志显示了异常访问违例,通过分析日志中的问题帧,找到了解决问题的线索。文章详细介绍了解决方法,帮助读者顺利安装oracle 10g客户端。 ... [详细]
  • GreenDAO快速入门
    前言之前在自己做项目的时候,用到了GreenDAO数据库,其实对于数据库辅助工具库从OrmLite,到litePal再到GreenDAO,总是在不停的切换,但是没有真正去了解他们的 ... [详细]
  • 本文介绍了一个React Native新手在尝试将数据发布到服务器时遇到的问题,以及他的React Native代码和服务器端代码。他使用fetch方法将数据发送到服务器,但无法在服务器端读取/获取发布的数据。 ... [详细]
  • 本文介绍了在Android开发中使用软引用和弱引用的应用。如果一个对象只具有软引用,那么只有在内存不够的情况下才会被回收,可以用来实现内存敏感的高速缓存;而如果一个对象只具有弱引用,不管内存是否足够,都会被垃圾回收器回收。软引用和弱引用还可以与引用队列联合使用,当被引用的对象被回收时,会将引用加入到关联的引用队列中。软引用和弱引用的根本区别在于生命周期的长短,弱引用的对象可能随时被回收,而软引用的对象只有在内存不够时才会被回收。 ... [详细]
  • Hibernate延迟加载深入分析-集合属性的延迟加载策略
    本文深入分析了Hibernate延迟加载的机制,特别是集合属性的延迟加载策略。通过延迟加载,可以降低系统的内存开销,提高Hibernate的运行性能。对于集合属性,推荐使用延迟加载策略,即在系统需要使用集合属性时才从数据库装载关联的数据,避免一次加载所有集合属性导致性能下降。 ... [详细]
  • Ihaveaworkfolderdirectory.我有一个工作文件夹目录。holderDir.glob(*)>holder[ProjectOne, ... [详细]
author-avatar
liqiqinai
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有