微信公众号服务器验证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 相关文章推荐
原生javascript获取元素样式
Dec 31 Javascript
jQuery中prependTo()方法用法实例
Jan 08 Javascript
JS实现模拟百度搜索“2012世界末日”网页地震撕裂效果代码
Oct 31 Javascript
JavaScript类型系统之布尔Boolean类型详解
Jun 26 Javascript
jQuery数组处理函数整理
Aug 03 Javascript
JavaScript 随机验证码的生成实例代码
Sep 22 Javascript
jQuery插件FusionCharts实现的MSBar3D图效果示例【附demo源码】
Mar 23 jQuery
JavaScript正则表达式校验与递归函数实际应用实例解析
Aug 04 Javascript
VueRouter导航守卫用法详解
Dec 25 Javascript
Bootstrap开发中Tab标签页切换图表显示问题的解决方法
Jul 13 Javascript
Angular中的ng-template及angular 使用ngTemplateOutlet 指令的方法
Aug 08 Javascript
vue实现购物车小案例
Sep 27 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
重料打造自己的“宝马”---第三代
2021/03/02 无线电
用PHP和MySQL保存和输出图片
2006/10/09 PHP
PHP 金额数字转换成英文
2010/05/06 PHP
php5.3 goto函数介绍和示例
2014/03/21 PHP
PHP设计模式之装饰器模式定义与用法详解
2018/04/02 PHP
laravel框架中间件 except 和 only 的用法示例
2019/07/12 PHP
php设计模式之状态模式实例分析【星际争霸游戏案例】
2020/03/26 PHP
Javascript的IE和Firefox兼容性汇编(zz)
2007/02/02 Javascript
filemanage功能中用到的lib.js
2007/04/08 Javascript
Jquery cookie操作代码
2010/03/14 Javascript
Javascript中Eval函数的使用
2010/03/23 Javascript
jQuery jqgrid 对含特殊字符json 数据的 Java 处理方法
2011/01/01 Javascript
jQuery总体架构的理解分析
2011/03/07 Javascript
jquery实现ajax提交form表单的方法总结
2014/03/03 Javascript
jQuery中:empty选择器用法实例
2014/12/30 Javascript
JavaScritp添加url参数并将参数加入到url中及更改url参数的方法
2015/10/26 Javascript
浅析Nodejs npm常用命令
2016/06/14 NodeJs
AngularJS动态生成div的ID源码解析
2016/08/29 Javascript
Angularjs中controller的三种写法分享
2016/09/21 Javascript
使用vue实现点击按钮滑出面板的实现代码
2017/01/10 Javascript
老生常谈js数据类型
2017/08/03 Javascript
微信小程序之滑动页面隐藏和显示组件功能的实现代码
2020/06/19 Javascript
python中range()与xrange()用法分析
2016/09/21 Python
python的多重继承的理解
2017/08/06 Python
python的paramiko模块实现远程控制和传输示例
2017/10/13 Python
Python程序包的构建和发布过程示例详解
2019/06/09 Python
python 如何把docker-compose.yaml导入到数据库相关条目里
2021/01/15 Python
使用简单的CSS3属性实现炫酷读者墙效果
2014/01/08 HTML / CSS
Club Monaco加拿大官网:设计师男女服装
2019/09/29 全球购物
Lentiamo比利时:便宜的隐形眼镜
2020/02/14 全球购物
高中毕业生的个人自我评价
2014/02/21 职场文书
文明村创建实施方案
2014/03/27 职场文书
python - timeit 时间模块
2021/04/06 Python
Element实现动态表格的示例代码
2021/08/02 Javascript
手写Spirit防抖函数underscore和节流函数lodash
2022/03/22 Javascript
输入框跟随文字内容适配宽实现示例
2022/08/14 Javascript