微信公众号服务器验证Token的完整步骤

服务器验证Token验证分为以下及步骤

一,在微信公众号平台上设置

1.1打开微信公众号平台

1.2打开”开发“中的<基本配置>

1.3点击基本配置页面里的修改配置

1.4输入URL:

url填写:http://外网IP:端口号/wx 。外网IP请到腾讯云购买成功处查询, http的端口号固定使用80,不可填写其他。

Token:自主设置,这个token与公众平台wiki中常提的access_token不是一回事。这个token只用于验证开发者服务器。(注:Token可以随便写  写完记住留着备用)

EncodingAESKey:点击随机生成

现在选择提交肯定是验证token失败,因为还需要完成代码逻辑。改动原先main.py文件,新增handle.py 也可以用wbe文件

二,编写后台程序

我选用的是web,ashx一般处理程序页面

代码源码:

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;[email protected]#;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.右键点击文件 点击发布

4.点击发布

5.打开文件夹 右键点击将文件解压

6.打开服务器

7.将解压的文件 粘贴到桌面上  粘贴好解压成文件

9.将解压好的文件放到你的服务器C盘自定义的文件夹内

三。部署服务器

1.点击服务器开始菜单 打开IIS管理器

点击IP

2.右键点击网站 点击添加网站网站

网站名称自己写

路径选择你文件粘贴到C盘的文件夹

主机名称填写你部署网站的网址

点击确定就行了

3.点击应用程序池

4.将刚添加的网站端口从2.0改成4.0 保存即可

再点你添加的网站  击浏览网站

         

将会出现”服务器错误页面“  出现这个页面就算已经部署完毕

四,打开微信公众号平台  修改配置页面

直接点击提交可能会登陆超时  的从新登陆 编写修改配置

从新填写一遍 并把URL   Token 填写正确 确保跟上次填写的一样

点击提交即可

原文地址:https://www.cnblogs.com/yutang-wangweisong/p/12106677.html

时间: 2024-10-13 20:58:09

微信公众号服务器验证Token的完整步骤的相关文章

微信公众号服务器验证的坑

微信服务器给我们的服务器发送类似如下url: signature=158518cb0a9ef397f2cbbb9e26b497c4b5fec8e5&echostr=5838479218127813673&timestamp=1413975482&nonce=1359376876 一定要注意:我们返回给微信服务器的echostr是数字,不是字符串,即 5838479218127813673是一串数字 原文地址:https://www.cnblogs.com/wt11/p/859814

虚拟主机搭建微信公众号服务器

一.前言 搭建微信公众号服务器的方式不只一种,可以用java等其他语言或是其他云空间来搭建服务器,这里总结的是用虚拟主机(主机公园中的虚拟主机)搭建微信公众号服务器的大概思路.不管用什么方式,配置微信公众号服务器的原理不会变. 二.步骤 开始开发微信公众号看这里 首先搭建服务器,因为微信公众号开发的第一步要先配置服务器 1. 万网上先去买个域名,然后再去主机公园那里买个服务器(虚拟机)(我今天用的香港虚拟机试用版还未买),然后再解析域名.详细步骤这里看教程 如果不需要建个人博客,后面的上传wor

django搭建微信公众号后台——验证(7.19)

php研究了好几个框架,感觉还是django强大,用起来也顺手,虽然django在微信后台这方面用得没有那么普及,但还是打算试一试,拿我自己的公众号试手. 今天主要是创建项目然后验证通过,代码还是放在pythonanywhere上. 具体怎么创建就不写了,之前有过一篇文章,这里开发用了星星的wechat-python-sdk. 在微信后台填了网址之后,在urls.py设置路由 url(r'^$', index, name='index'), 在views.py里进行验证: #-*- coding

微信公众号开发Access Token

Access Token 在微信公众平台接口开发中,Access Token占据了一个很重要的地位,相当于进入各种接口的钥匙,拿到这个钥匙才有调用其他各种特殊接口的权限. access_token是公众号的全局唯一票据,公众号调用各接口时都需使用access_token.正常情况下access_token有效期为7200秒,重复获取将导致上次获取的access_token失效. 公众号可以使用AppID和AppSecret调用本接口来获取access_token.AppID和AppSecret可

java微信公众号开发,token验证

import java.io.IOException; import java.util.Arrays; import javax.servlet.ServletException; import javax.servlet.http.HttpServlet; import javax.servlet.http.HttpServletRequest; import javax.servlet.http.HttpServletResponse; import net.binjoo.utils.SH

微信公众号接入服务器验证(Go实现)

1 基本流程 将token.timestamp.nonce三个参数进行字典序排序 将三个参数字符串拼接成一个字符串进行sha1加密 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信 2 请求参数 参数 描述 signature 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数.nonce参数. timestamp 时间戳 nonce 随机数 echostr 随机字符串 3 注册页面填写 URL填写:http://IP地址:监

利用nat123解决微信公众号对接服务器必须为80端口的问题

背景:最近公司接到做一个微信公众号的项目,需要我们提前做一个demo,好做项目的整体评估:我们公司本身有个云服务器,但没有备案,所以80端口还被电信屏蔽着,就想到利用nat123做80端口的映射:(外网80端口访问服务器上非80端口的应用) 前提:存在对接微信服务器的服务,云服务器本地访问地址为:http://localhost:8080/wxtest/WechatServlet 目标:外网通过80端口访问上述地址: 一:下载nat123 1:地址:http://www.nat123.com/P

Salesforce与微信公众号集成实现输入关键字搜索文章

本篇参考微信官方文档:https://developers.weixin.qq.com/doc/offiaccount/Basic_Information/Access_Overview.html 随着salesforce学习文章越来越多,查找文章也变得越来越不方便.去年有个关注的粉丝私下微信聊天,问是否可以在微信公众号做一个搜索功能,通过关键字返回匹配的文章,这样可以减少了一直拖拽耽误的时间和精力.去年一直懒惰没有实现,其实也是没有接触过微信公众号集成,所以简单的推脱了,说后续会搞定这个功能.

微信公众号接入

1.如何申请一个微信测试公众号 点击进入微信公众帐号测试号申请系统用微信扫码登录,就申请到一个微信测试公众号了,就是这么简单. 记录一下appID和appsecret,微信开发的时候会用到,本人的是: appID:wx4cff8e15a7a0801dappsecret:4d7cb4b8b54412d9ef0c6a7c011cd570 2.进行微信公众号验证 <?php define("APPID","wx4cff8e15a7a0801d");//填写自己的AP