微信公众号服务器验证Token步骤图解


Posted in Javascript onDecember 30, 2019

这篇文章主要介绍了微信公众号服务器验证Token步骤图解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

服务器验证Token验证分为以下及步骤

一,在微信公众号平台上设置

1.1打开微信公众号平台

1.2打开”开发“中的<基本配置>

微信公众号服务器验证Token步骤图解

1.3点击基本配置页面里的修改配置

微信公众号服务器验证Token步骤图解

1.4输入URL:

url填写:http://外网IP:端口号/wx 。外网IP请到腾讯云购买成功处查询, http的端口号固定使用80,不可填写其他。

Token:自主设置,这个token与公众平台wiki中常提的access_token不是一回事。这个token只用于验证开发者服务器。(注:Token可以随便写 写完记住留着备用)

EncodingAESKey:点击随机生成

微信公众号服务器验证Token步骤图解

现在选择提交肯定是验证token失败,因为还需要完成代码逻辑。改动原先main.py文件,新增handle.py 也可以用wbe文件

二,编写后台程序

我选用的是web,ashx一般处理程序页面

微信公众号服务器验证Token步骤图解

代码源码:

namespace WEF
{
  /// <summary>
  /// Token 的摘要说明
  /// </summary>
  public class Token : IHttpHandler
  {

    public void ProcessRequest(HttpContext context)
    {
      ProcesyanzhengsRequest(context);//执行下面方法

    }

    public bool IsReusable
    {
      get
      {
        return false;
      }
    }

    public void ProcesyanzhengsRequest(HttpContext context)
    {
      context.Response.ContentType = "text/plain";
      string token = " ";//输入你上面自己编写的Token
      if (string.IsNullOrEmpty(token))
      {
        return;
      }

//取到Token接收到的值
      string echoString = HttpContext.Current.Request.QueryString["echoStr"];
      string signature = HttpContext.Current.Request.QueryString["signature"];
      string timestamp = HttpContext.Current.Request.QueryString["timestamp"];
      string nonce = HttpContext.Current.Request.QueryString["nonce"];
      if (CheckSignature(token, signature, timestamp, nonce)) //判断验证是否正确
      {
        if (!string.IsNullOrEmpty(echoString))  正确返回微信服务器
        {
          HttpContext.Current.Response.Write(echoString);
          HttpContext.Current.Response.End();
        }

      }

    }
    /// <summary>
    /// 验证微信签名
    /// </summary>
    public static bool CheckSignature(string token, string signature, string timestamp, string nonce)
    {
      string[] ArrTmp = { token, timestamp, nonce };
      //字典排序
      Array.Sort(ArrTmp);
      //拼接
      string tmpStr = string.Join("", ArrTmp);
      //sha1验证
      tmpStr = System.Web.Security.FormsAuthentication.HashPasswordForStoringInConfigFile(tmpStr, "SHA1");
      //tmpStr = Membership.CreateUser(tmpStr, "SHA1");
      tmpStr = tmpStr.ToLower();
      if (tmpStr == signature) //如果计算后得到的数值与传过来的数值相等
      {
        return true;  //返回正确
      }
      else
      {
        return false; //不相等 返回错误
      }
    }

  }
}

三,上传到服务器

1.打开D:Web.config

<connectionStrings>
<add name="SqlConnectionString"
connectionString="server=.;database=WEF;uid=sa;pwd=1@#;Enlist=true;Pooling=true;Max Pool Size=300;Min Pool Size=0;Connection Lifetime=300;user id=sa;packet size=1000"/>
</connectionStrings>

2.将server地址改成。

将database文件夹名称改成你写的代码文件夹名称

3.右键点击文件 点击发布

微信公众号服务器验证Token步骤图解

4.点击发布

微信公众号服务器验证Token步骤图解

5.打开文件夹 右键点击将文件解压

微信公众号服务器验证Token步骤图解微信公众号服务器验证Token步骤图解

6.打开服务器

微信公众号服务器验证Token步骤图解

7.将解压的文件 粘贴到桌面上 粘贴好解压成文件

微信公众号服务器验证Token步骤图解

9.将解压好的文件放到你的服务器C盘自定义的文件夹内

三。部署服务器

1.点击服务器开始菜单 打开IIS管理器

点击IP

微信公众号服务器验证Token步骤图解

2.右键点击网站 点击添加网站网站

网站名称自己写

路径选择你文件粘贴到C盘的文件夹

主机名称填写你部署网站的网址

点击确定就行了

微信公众号服务器验证Token步骤图解

3.点击应用程序池

微信公众号服务器验证Token步骤图解

4.将刚添加的网站端口从2.0改成4.0 保存即可

再点你添加的网站 击浏览网站

微信公众号服务器验证Token步骤图解微信公众号服务器验证Token步骤图解

将会出现”服务器错误页面“ 出现这个页面就算已经部署完毕

微信公众号服务器验证Token步骤图解

四,打开微信公众号平台 修改配置页面

直接点击提交可能会登陆超时 的从新登陆 编写修改配置

从新填写一遍 并把URL Token 填写正确 确保跟上次填写的一样

点击提交即可

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Javascript 相关文章推荐
IE6弹出“已终止操作”的解决办法
Nov 27 Javascript
Javascript倒计时页面跳转实例小结
Sep 11 Javascript
juery框架写的弹窗效果适合新手
Nov 27 Javascript
JavaScript修改css样式style动态改变元素样式
Dec 16 Javascript
jQuery修改CSS伪元素属性的方法
Jul 30 Javascript
JavaScript fontcolor方法入门实例(按照指定的颜色来显示字符串)
Oct 17 Javascript
javascript仿京东导航左侧分类导航下拉菜单效果
Nov 25 Javascript
详解vue数据渲染出现闪烁问题
Jun 29 Javascript
angular中ui calendar的一些使用心得(推荐)
Nov 03 Javascript
Vue父子模版传值及组件传值的三种方法
Nov 27 Javascript
js中对象与对象创建方法的各种方法
Feb 27 Javascript
js核心基础之构造函数constructor用法实例分析
May 11 Javascript
微信小程序封装多张图片上传api代码实例
Dec 30 #Javascript
使用pkg打包ThinkJS项目的方法步骤
Dec 30 #Javascript
微信小程序实现一个简单swiper代码实例
Dec 30 #Javascript
JavaScript switch语句使用方法简介
Dec 30 #Javascript
微信小程序自定义菜单切换栏tabbar组件代码实例
Dec 30 #Javascript
详解Vue的watch中的immediate与watch是什么意思
Dec 30 #Javascript
jQuery模仿ToDoList实现简单的待办事项列表
Dec 30 #jQuery
You might like
PHP新手上路(十三)
2006/10/09 PHP
用PHP程序实现支持页面后退的两种方法
2008/06/30 PHP
php file_exists 检查文件或目录是否存在的函数
2010/05/10 PHP
3种php生成唯一id的方法
2015/11/23 PHP
php获得刚插入数据的id 的几种方法总结
2018/05/31 PHP
基于JQuery的asp.net树实现代码
2010/11/30 Javascript
jquery ajax传递中文参数乱码问题及解决方法说明
2014/02/07 Javascript
js数组常见操作及数组与字符串相互转化实例详解
2015/11/10 Javascript
封装获取dom元素的简单实例
2016/07/08 Javascript
基于js中的原型、继承的一些想法
2016/08/10 Javascript
javascript淘宝主图放大镜功能
2016/10/20 Javascript
浅谈jQuery中的eq()与DOM中element.[]的区别
2016/10/28 Javascript
JS基于正则实现数字千分位用逗号分隔的方法
2017/06/16 Javascript
详解Vue.js组件可复用性的混合(mixin)方式和自定义指令
2017/09/06 Javascript
Angular5升级RxJS到5.5.3报错:EmptyError: no elements in sequence的解决方法
2018/04/09 Javascript
jQuery实现动态加载select下拉列表项功能示例
2018/05/31 jQuery
React 实现拖拽功能的示例代码
2019/01/06 Javascript
jQuery利用cookie 实现本地收藏功能(不重复无需多次命名)
2019/11/07 jQuery
[01:11:27]2018DOTA2亚洲邀请赛小组赛 A组加赛 Newbee vs Optic
2018/04/03 DOTA
[53:50]CHAOS vs Mineski 2019国际邀请赛小组赛 BO2 第一场 8.16
2019/08/18 DOTA
Python 遍历列表里面序号和值的方法(三种)
2017/02/17 Python
python-itchat 统计微信群、好友数量,及原始消息数据的实例
2019/02/21 Python
详解使用django-mama-cas快速搭建CAS服务的实现
2019/10/30 Python
python数据库编程 Mysql实现通讯录
2020/03/27 Python
Django用户身份验证完成示例代码
2020/04/03 Python
Python列表如何更新值
2020/05/27 Python
升级keras解决load_weights()中的未定义skip_mismatch关键字问题
2020/06/12 Python
python的setattr函数实例用法
2020/12/16 Python
Python3中对json格式数据的分析处理
2021/01/28 Python
StubHub墨西哥:购买和出售您的门票
2016/09/17 全球购物
美国领先的家庭健康检测试剂盒提供商:LetsGetChecked
2019/03/18 全球购物
基层工作经历证明
2015/06/19 职场文书
2017春节晚会开幕词
2016/03/03 职场文书
2019年中学生的思想品德评语集锦
2019/12/19 职场文书
安装harbor作为docker镜像仓库的问题
2022/06/14 Servers
Redis实战之Lettuce的使用技巧详解
2022/12/24 Redis