微信公众号服务器验证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 相关文章推荐
js或css文件后面跟参数的原因说明
Jan 09 Javascript
Js获取事件对象代码
Aug 05 Javascript
图片onload事件触发问题解决方法
Jul 31 Javascript
JQuery入门——事件切换之hover()方法应用介绍
Feb 05 Javascript
IE的fireEvent方法概述及应用
Feb 22 Javascript
js输出阴历、阳历、年份、月份、周示例代码
Jan 29 Javascript
原生ajax处理json格式数据的实例代码
Dec 25 Javascript
JavaScript使用delete删除数组元素用法示例【数组长度不变】
Jan 17 Javascript
基于Vue实现tab栏切换内容不断实时刷新数据功能
Apr 13 Javascript
使用Angular CLI进行单元测试和E2E测试的方法
Mar 24 Javascript
使用Vue.js中的过滤器实现幂方求值的方法
Aug 27 Javascript
Layui多选只有最后一个值的解决方法
Sep 02 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
用户的详细注册和判断
2006/10/09 PHP
php+js iframe实现上传头像界面无跳转
2014/04/29 PHP
smarty中post用法实例
2014/11/28 PHP
php堆排序实现原理与应用方法
2015/01/03 PHP
php自定义函数实现统计中文字符串长度的方法小结
2017/04/15 PHP
基于JQuery的浮动DIV显示提示信息并自动隐藏
2011/02/11 Javascript
改变状态栏文字的js代码
2014/06/13 Javascript
jquery移动端TAB触屏切换实现效果
2020/12/22 Javascript
jQuery绑定事件监听bind和移除事件监听unbind用法实例详解
2016/01/19 Javascript
基于JavaScript实现图片点击弹出窗口而不是保存
2016/02/06 Javascript
详解用Node.js实现Restful风格webservice
2017/09/29 Javascript
微信小程序下拉框组件使用方法详解
2018/12/28 Javascript
nvm、nrm、npm 安装和使用详解(小结)
2019/01/17 Javascript
原生JS实现的跳一跳小游戏完整实例
2019/01/27 Javascript
vue实现表格过滤功能
2019/09/27 Javascript
vue+element导航栏高亮显示的解决方式
2019/11/12 Javascript
Vue3不支持Filters过滤器的问题
2020/09/24 Javascript
echarts实现晶体球面投影的实例教程
2020/10/10 Javascript
栈和队列数据结构的基本概念及其相关的Python实现
2015/08/24 Python
python学习之matplotlib绘制散点图实例
2017/12/09 Python
python统计多维数组的行数和列数实例
2018/06/23 Python
python系列 文件操作的代码
2019/10/06 Python
python实现获取单向链表倒数第k个结点的值示例
2019/10/24 Python
python飞机大战pygame游戏之敌机出场实现方法详解
2019/12/17 Python
python 读取更新中的log 或其它文本方式
2019/12/24 Python
Django实现微信小程序支付的示例代码
2020/09/03 Python
python里glob模块知识点总结
2021/01/05 Python
丹尼尔惠灵顿手表天猫官方旗舰店:Daniel Wellington
2017/08/25 全球购物
物理专业本科生自荐信
2014/01/30 职场文书
党支部承诺书范文
2014/03/28 职场文书
中学生2014国庆节演讲稿:不屈的民族
2014/09/21 职场文书
保密法制宣传月活动总结
2015/05/07 职场文书
2015年毕业实习工作总结
2015/05/29 职场文书
培训计划通知
2015/07/15 职场文书
SpringBoot集成Redis的思路详解
2021/10/16 Redis
安装harbor作为docker镜像仓库的问题
2022/06/14 Servers