微信公众号服务器验证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 绑定时间实现代码
May 03 Javascript
用函数模板,写一个简单高效的 JSON 查询器的方法介绍
Apr 17 Javascript
javascript的数组和常用函数详解
May 09 Javascript
javascript实现根据身份证号读取相关信息
Dec 17 Javascript
Windows系统下安装Node.js的步骤图文详解
Nov 15 Javascript
vue-cli+webpack记事本项目创建
Apr 01 Javascript
vue实现点击关注后及时更新列表功能
Jun 26 Javascript
react-router4按需加载(踩坑填坑)
Jan 06 Javascript
Element-ui DatePicker显示周数的方法示例
Jul 19 Javascript
vuejs中父子组件之间通信方法实例详解
Jan 17 Javascript
js常用方法、检查是否有特殊字符串、倒序截取字符串操作完整示例
Jan 26 Javascript
如何利用node转发请求详解
Sep 17 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下目前为目最全的CURL中文说明
2010/08/01 PHP
PHP命名空间(Namespace)的使用详解
2013/05/04 PHP
php创建基本身份认证站点的方法详解
2013/06/08 PHP
解析smarty模板中类似for的功能实现
2013/06/18 PHP
php格式化日期和时间格式化示例分享
2014/02/24 PHP
php 解压rar文件及zip文件的方法
2014/05/05 PHP
PHP Swoole异步读取、写入文件操作示例
2019/10/24 PHP
Nigma vs AM BO3 第二场2.13
2021/03/10 DOTA
Ext javascript建立超链接,进行事件处理的实现方法
2009/03/22 Javascript
Jquery下attr和removeAttr的使用方法
2010/12/28 Javascript
js 控制下拉菜单刷新的方法
2013/03/03 Javascript
jquery中live()方法和bind()方法区别分析
2016/06/23 Javascript
基于jQuery实现图片推拉门动画效果的两种方法
2017/08/26 jQuery
Vue.js搭建移动端购物车界面
2020/06/28 Javascript
vue组件传递对象中实现单向绑定的示例
2018/02/28 Javascript
js中document.write和document.writeln的区别
2018/03/11 Javascript
vue脚手架搭建项目的兼容性配置详解
2018/07/17 Javascript
详解微信JS-SDK选择图片遇到的坑
2018/08/15 Javascript
Vuex的actions属性的具体使用
2019/04/14 Javascript
vue项目打包之开发环境和部署环境的实现
2020/04/23 Javascript
[02:55]DOTA2英雄基础教程 发条技师
2013/12/04 DOTA
[35:27]完美世界DOTA2联赛循环赛 GXR vs FTD BO2第二场 10.29
2020/10/29 DOTA
在macOS上搭建python环境的实现方法
2019/08/13 Python
Python实现的爬取豆瓣电影信息功能案例
2019/09/15 Python
python脚本和网页有何区别
2020/07/02 Python
python 贪心算法的实现
2020/09/18 Python
matplotlib绘制正余弦曲线图的实现
2021/02/22 Python
体育教育专业自荐信范文
2013/12/20 职场文书
综合办公室个人的自我评价
2013/12/22 职场文书
培训楼经理岗位责任制
2014/02/10 职场文书
关于保护环境的建议书
2014/05/13 职场文书
写字楼租赁意向书
2014/07/30 职场文书
酒店七夕情人节活动策划方案
2014/08/24 职场文书
2015年消费者权益日活动总结
2015/02/09 职场文书
企业计划生育责任书
2015/05/09 职场文书
2016反腐倡廉警示教育心得体会
2016/01/13 职场文书