微信公众号服务器验证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 相关文章推荐
jquery关于页面焦点的定位(文本框获取焦点时改变样式 )
Sep 10 Javascript
jquery插件实现鼠标经过图片右侧显示大图的效果(类似淘宝)
Feb 04 Javascript
jquery弹窗插件colorbox绑定动态生成元素的方法
Jun 20 Javascript
jQuery中:first-child选择器用法实例
Dec 31 Javascript
javascript生成大小写字母
Jul 03 Javascript
JavaScript模拟鼠标右键菜单效果
Dec 08 Javascript
详细谈谈javascript的对象
Jul 31 Javascript
关于vue.js组件数据流的问题
Jul 26 Javascript
three.js实现3D视野缩放效果
Nov 16 Javascript
React Form组件的实现封装杂谈
May 07 Javascript
初学node.js中实现删除用户路由
May 27 Javascript
JavaScript一元正号运算符示例代码
Jun 30 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遍历并打印指定目录下所有文件实例
2014/02/10 PHP
使用ob系列函数实现PHP网站页面静态化
2014/08/13 PHP
php显示时间常用方法小结
2015/06/05 PHP
PHP-CGI远程代码执行漏洞分析与防范
2017/05/07 PHP
PHP自定义函数判断是否为Get、Post及Ajax提交的方法
2017/07/27 PHP
Alliance vs AM BO3 第二场2.13
2021/03/10 DOTA
showModalDialog 和 showModelessDialog
2007/01/22 Javascript
JavaScript动态操作表格实例(添加,删除行,列及单元格)
2013/11/25 Javascript
javascript判断office版本示例
2014/04/11 Javascript
提高NodeJS中SSL服务的性能
2014/07/15 NodeJs
JQuery做的一个简单的点灯游戏分享
2014/07/16 Javascript
$(&quot;&quot;).click与onclick的区别示例介绍
2014/09/25 Javascript
node.js中的dns.getServers方法使用说明
2014/12/08 Javascript
JQuery查找DOM节点的方法
2015/06/11 Javascript
原生js与jQuery实现简单的tab切换特效对比
2015/07/30 Javascript
Js 获取、判断浏览器版本信息的简单方法
2016/08/08 Javascript
vue jsx 使用指南及vue.js 使用jsx语法的方法
2017/11/11 Javascript
浅析前端路由简介以及vue-router实现原理
2018/06/01 Javascript
vue 左滑删除功能的示例代码
2019/01/28 Javascript
微信小程序表单验证WxValidate的使用
2019/11/27 Javascript
python之模拟鼠标键盘动作具体实现
2013/12/30 Python
Python入门篇之函数
2014/10/20 Python
Pycharm新手教程(只需要看这篇就够了)
2019/06/18 Python
PyTorch的SoftMax交叉熵损失和梯度用法
2020/01/15 Python
浅析CSS3 中的 transition,transform,translate之间区别和作用
2020/03/26 HTML / CSS
罗马尼亚购物网站:Vivantis.ro
2019/07/20 全球购物
存储过程的优点有哪些
2012/09/27 面试题
产品工艺师的岗位职责
2013/11/15 职场文书
保洁主管岗位职责
2013/11/20 职场文书
高中自我评价分享
2013/12/05 职场文书
警察思想汇报
2014/01/04 职场文书
《彩色世界》教学反思
2014/04/12 职场文书
小学秋季运动会报道稿
2014/09/30 职场文书
个人汇报材料范文
2014/12/30 职场文书
创业计划书之小型广告公司
2019/10/22 职场文书
巧用 -webkit-box-reflect 倒影实现各类动效(小结)
2021/04/22 HTML / CSS