微信公众号服务器验证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实现iframe动态调整高度的代码
Jan 06 Javascript
jQuery使用post方法提交数据实例
Mar 25 Javascript
基于jquery实现省市区三级联动效果
Dec 25 Javascript
简述Matlab中size()函数的用法
Mar 20 Javascript
AngularJs Dependency Injection(DI,依赖注入)
Sep 02 Javascript
Bootstrap基本组件学习笔记之input输入框组(9)
Dec 07 Javascript
微信小程序 列表的上拉加载和下拉刷新的实现
Apr 01 Javascript
vue.js中实现登录控制的方法示例
Apr 23 Javascript
Vue-不允许嵌套式的渲染方法
Sep 13 Javascript
详解vscode中vue代码颜色插件
Oct 11 Javascript
原生js+css调节音量滑块
Jan 15 Javascript
js实现简单扫雷
Nov 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
DC最新动画电影:《战争之子》为何内容偏激,毁了一个不错的漫画
2020/04/09 欧美动漫
PHP数组内存耗用太多问题的解决方法
2010/04/05 PHP
php单例模式实现(对象只被创建一次)
2012/12/05 PHP
在smarty中调用php内置函数的方法
2013/02/07 PHP
php对象和数组相互转换的方法
2015/05/12 PHP
jQuery+Ajax+PHP“喜欢”评级功能实现代码
2015/10/08 PHP
PHP水印类,支持添加图片、文字、填充颜色区域的实现
2017/02/04 PHP
Laravel如何自定义command命令浅析
2019/03/23 PHP
用apply让javascript函数仅执行一次的代码
2010/06/27 Javascript
JavaScript实现维吉尼亚(Vigenere)密码算法实例
2013/11/22 Javascript
NodeJS远程代码执行
2016/08/28 NodeJs
Vuejs 组件——props数据传递的实例代码
2017/03/07 Javascript
nodejs结合socket.io实现websocket通信功能的方法
2018/01/12 NodeJs
vue中axios解决跨域问题和拦截器的使用方法
2018/03/07 Javascript
vuejs使用axios异步访问时用get和post的实例讲解
2018/08/09 Javascript
Angularjs实现数组随机排序的方法
2018/10/02 Javascript
详解vue-element Tree树形控件填坑路
2019/03/26 Javascript
微信小程序下拉菜单效果的实例代码
2019/05/14 Javascript
详解Vue后台管理系统开发日常总结(组件PageHeader)
2019/11/01 Javascript
Python回文字符串及回文数字判定功能示例
2018/03/20 Python
python实现将文件夹下面的不是以py文件结尾的文件都过滤掉的方法
2018/10/21 Python
简单了解django索引的相关知识
2019/07/17 Python
python修改linux中文件(文件夹)的权限属性操作
2020/03/05 Python
python 监控logcat关键字功能
2020/09/04 Python
基于OpenCV的路面质量检测的实现
2020/11/04 Python
科沃斯机器人官网商城:Ecovacs
2016/08/29 全球购物
moosejaw旗下的户外商品促销网站:Mountain Steals
2017/02/27 全球购物
Nip + Fab官网:英国美容品牌
2019/08/26 全球购物
美国眼镜在线零售商:Dualens
2019/12/07 全球购物
教师自我反思材料
2014/02/14 职场文书
个人自我剖析材料
2014/09/30 职场文书
党的群众路线教育实践活动组织生活会发言材料
2014/10/17 职场文书
军训后的感想
2015/08/07 职场文书
情侣餐厅的创业计划书范本!
2019/07/26 职场文书
复制别人的成功真的会成功吗?
2019/10/17 职场文书
http通过StreamingHttpResponse完成连续的数据传输长链接方式
2022/02/12 Python