微信公众号服务器验证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 29 Javascript
国外的为初学者写的JavaScript教程
Jun 09 Javascript
JavaScript asp.net 获取当前超链接中的文本
Apr 14 Javascript
JQuery给元素绑定click事件多次执行的解决方法
May 29 Javascript
JavaScript中的Web worker多线程API研究
Dec 06 Javascript
JavaScript判断undefined类型的正确方法
Jun 30 Javascript
javascript实现右侧弹出“分享到”窗口效果
Feb 01 Javascript
JS验证图片格式和大小并预览的简单实例
Oct 11 Javascript
基于javascript的Form表单验证
Dec 29 Javascript
JavaScrip数组删除特定元素的几种方法总结
Sep 06 Javascript
js计算两个时间差 天 时 分 秒 毫秒的代码
May 21 Javascript
Element实现表格分页数据选择+全选所有完善批量操作
Jun 07 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
IIS+PHP+MySQL+Zend配置 (视频教程)
2006/12/13 PHP
phpMyadmin 用户权限中英对照
2010/04/02 PHP
PHP ? EasyUI DataGrid 资料存的方式介绍
2012/11/07 PHP
php curl登陆qq后获取用户信息时证书错误
2015/02/03 PHP
基于PHP制作验证码
2016/10/12 PHP
&amp;lt;script defer&amp;gt; defer 是什么意思
2009/05/10 Javascript
jQuery 选择器理解
2010/03/16 Javascript
基于jquery扩展漂亮的CheckBox(自己编写)
2013/11/19 Javascript
利用jquery.qrcode在页面上生成二维码且支持中文
2014/02/12 Javascript
js实现简单选项卡与自动切换效果的方法
2015/04/10 Javascript
jquery实现表单验证并阻止非法提交
2015/07/09 Javascript
浅谈js和css内联外联注意事项
2016/06/30 Javascript
JS和canvas实现俄罗斯方块
2017/03/14 Javascript
在vue项目中使用element-ui的Upload上传组件的示例
2018/02/08 Javascript
深入了解js原型模式
2019/05/30 Javascript
javascript实现视频弹幕效果(两个版本)
2019/11/28 Javascript
基于 Vue 的 Electron 项目搭建过程图文详解
2020/07/22 Javascript
删除目录下相同文件的python代码(逐级优化)
2012/05/25 Python
Python深入学习之闭包
2014/08/31 Python
python如何重载模块实例解析
2018/01/25 Python
python添加模块搜索路径和包的导入方法
2019/01/19 Python
浅谈python3.6的tkinter运行问题
2019/02/22 Python
Python创建或生成列表的操作方法
2019/06/19 Python
Django 项目重命名的实现步骤解析
2019/08/14 Python
wxPython绘图模块wxPyPlot实现数据可视化
2019/11/19 Python
PyCharm如何导入python项目的方法
2020/02/06 Python
Django+python服务器部署与环境部署教程详解
2020/03/30 Python
接口自动化多层嵌套json数据处理代码实例
2020/11/20 Python
css3实例教程 一款纯css3实现的发光屏幕旋转特效
2014/12/07 HTML / CSS
美国最大的骑马用品零售商:HorseLoverZ
2017/01/12 全球购物
中国一家综合的外贸B2C电子商务网站:DealeXtreme(DX)
2020/03/10 全球购物
煤矿班组长岗位职责
2013/12/29 职场文书
决定成败的关键——创业计划书
2014/01/24 职场文书
2014年安全员工作总结
2014/11/13 职场文书
骆驼祥子读书笔记
2015/06/26 职场文书
2016年大学光棍节活动总结
2016/04/05 职场文书