• .Net实现微信公众平台开发接口(一) 之 “微信开发配置”


      我们只要通过微信官方认证,成为开发者,才能实现微信提供的各种接口,否则即使调用了接口,微信也不会实现推送,功能也无法通过开发模式真正得到实现,所以需要正确配置微信信息,通过微信官方认证,成为开发者才可以进行下一步的接口开放。

    一、客户端需要配置的信息

          客户端配置微信信息的时候大概需要参数有:

    序号 参数 说明
    1  URL 验证开发者身份的url
    2 token 用于校验
    3 wechat_name 微信号
    4 appid 调用微信接口的凭证
    5 appsecret 调用微信接口的凭证密钥
    6 wechat_originalid 微信原始id
    7 wechat_type 微信类型(服务号,订阅号,企业号)
    8 wechat_key 为了安全起见,在url后面加的标示参数

         这些信息都要保存到客户端中,所以我们创建数据库表字段的时候按照上面的参数即可,如下

     View Code

        至于如何保存,这里就不在多说,通过三层和mvc都可以,这里只要页面的代码贴出来大家看看

     View Code

        其中这里要说的是

    string weixin_key = Guid.NewGuid().ToString();
    string weixin_url = "http://" + Request.Url.Authority + "/web/wechat/api/wechatapi.aspx?key=" + weixin_key;//url
    wechatmodel.wechat_token = GetRandom();//token用来验证每次的接口访问

    url的地址wechatapi.aspx主要是用来验证微信信息的,下面会重点说说这个页面

    token是随机生成的一个说,主要在官网输入的和客户端一致就可以,token可以随意获取。

    二、微信url和token验证基本原理和流程

          微信是如何验证url和token的呢,假如填写的url和token信息为

    URL: http://demo.xxx.com/web/wechat/api/wechatapi.aspx?key=d26bd9ae-5a4f-45d6-bb91-c434e3a7087a
    ToKen:1369750827 

    首先、开发者提交信息后,微信服务器将发送GET请求到填写的URL上,GET请求携带四个参数:

    参数描述
    signature 微信加密签名,signature结合了开发者填写的token参数和请求中的timestamp参数、nonce参数。
    timestamp 时间戳
    nonce 随机数
    echostr 随机字符串

    其次、客户端接受到这四个参数后,需要进行验证处理:

    加密/校验流程如下:
    1. 将token、timestamp、nonce三个参数进行字典序排序
    2. 将三个参数字符串拼接成一个字符串进行sha1加密
    3. 开发者获得加密后的字符串可与signature对比,标识该请求来源于微信
     也就是通过客户端的token,和微信服务器发送过来的timestamp,nonce进行字典排序,组成字符串并通过sha1加密,然后和微信服务器发送过来的signature进行比较,如果一样,则验证通过,并返回接收的echostr,

    验证通过后,正确返回echostr,则表示接入成功,成为开发者,否则需要检查配置信息。

    三、客户端验证处理

          首先,开发端接收微信服务器发送的参数,并按照验证流程进行验证signature是否一致,代码如下

        wechatapi.aspx

     View Code

         若验证通过,正确返回echostr

     View Code

         最后,微信访问页面的时候就要对其进行处理验证,所以事件要放到页面加载的地方

    复制代码
       protected void Page_Load(object sender, EventArgs e)
            {
              
                    //微信通过get请求验证api接口
                    CheckWeChat();
                
            }
    复制代码

    这样就基本完成了微信公众平台的配置和验证,成为开发者,下一步就是获取access_token,实现各个接口了。

  • 相关阅读:
    HTML向Flex传参
    Flex数据推送
    Flex+BlazeDS+Spring整合
    Clone Graph
    Word Break II
    Word Break
    Pascal's Triangle
    N-Queens II
    N-Queens
    Length of Last Word
  • 原文地址:https://www.cnblogs.com/zxtceq/p/5435190.html
Copyright © 2020-2023  润新知