公众号开发之万丈高楼平地起

没啥好写的了.也懒得写了.碰巧这几天在开发公众号.所以记录下开发公众号的相关流程.

首先在基础配置中设置白名单.也就是将服务器的ip地址写进去.很简单不多逼逼

然后配置服务器配置

这里url为路由.直接配置到方法就行.需要注意的是必须以http://或https://开头,分别支持80端口和443端口.

这里的token ,你可以自己随意定义一个.此token非彼token,用作生成签名.

这里的EncodingAESKey随机生成一个直接保存就好,用作消息体加解密密钥.

消息加解密方式默认就行.

然后接下来验证服务器来自微信服务器:

开发者提交信息后,微信服务器将发送GET请求到填写的服务器地址URL上,GET请求携带参数如下所示:

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

开发者通过检验signature对请求进行校验(下面有校验方式)。若确认此次GET请求来自微信服务器,请原样返回echostr参数内容,则接入生效,成为开发者成功,否则接入失败。加密/校验流程如下:

1)将token、timestamp、nonce三个参数进行字典序排序 2)将三个参数字符串拼接成一个字符串进行sha1加密 3)开发者获得加密后的字符串可与signature对比,标识该请求来源于微信

检验signature的PHP示例代码:

 public function index()//验证服务器!
    {
        //获得参数 signature nonce token timestamp echostr
        $nonce     = $_GET['nonce'];
        $token     = 'test'; // 前期填写的token
        $timestamp = $_GET['timestamp'];
        $echostr   = $_GET['echostr'];
        $signature = $_GET['signature'];
        //形成数组,然后按字典序排序
        $array = array();
        $array = array($nonce, $timestamp, $token);
        sort($array);
        //拼接成字符串,sha1加密 ,然后与signature进行校验
        $str = sha1( implode( $array ) );
        if( $str  == $signature && $echostr ){
            //第一次接入weixin api接口的时候
            echo  $echostr;
            exit;
        }
    }

然后在公众号里面提交测试.因为微信官方的问题.可能存在失败,多次尝试就好.

说点什么

avatar
  Subscribe  
提醒