一,微信公众号的thinkphp服务器配置与token认证

一.在进行微信公众号开发时第一步要做的就是接入服务器。而接入微信公众号开发,需要做三步:

     1.填写服务器配置

     2.验证服务器地址的有效性,(即token认证)

     3.依据接口文档实现业务逻辑。

 

二.以下将说明如何在thinkphp中进行微信公众号开发

    第一步:先安装phpstudy 并下载 thibkphp框架,放入phpstudy服务器中。

                在我的博客中有一篇讲解了phpstudy的安装和thinkphp的框架。

   当完成thinkphp的框架的安装后,我们可以在网站中打开网址看到一个笑脸,如下(phpwechat:是我的thinkphp的名称更改)

一,微信公众号的thinkphp服务器配置与token认证_第1张图片

     第二步:当thinkphp框架完成后,我们就可以在默认控制器中进行认证代码的实现了。代码如下:

valid();
    }


    //验证消息
    public function valid()
        {
            $echoStr = $_GET["echostr"];
            if($this->checkSignature()){
                echo $echoStr;
                exit;
            }
        }
   
    //检查签名
    private function checkSignature()
        {
            $signature = $_GET["signature"];
            $timestamp = $_GET["timestamp"];
            $nonce = $_GET["nonce"];
            $token = TOKEN;
            $tmpArr = array($token, $timestamp, $nonce);
            sort($tmpArr, SORT_STRING);
            $tmpStr = implode($tmpArr);
            $tmpStr = sha1($tmpStr);

            if($tmpStr == $signature){
                return true;
            }else{
                return false;
            }
        }
}

代码解释:1.当开发者提交信息时,微信服务器会发送get请求到你填写的服务器url上。

                   2.当get请求访问你的服务器时,会默认访问index控制器,然后执行valid方法,

valid方法,首先获取echostr的值,然后进行检查签名。如果签名检查为真,即通过,将echostr返回。此时验证成功。

 

第三步:进行测试:

                   1.由于微信公众号验证需要填写正确的域名url,无法使用本地地址。所以可以使用进行内网穿透。

                    使用方法:下载ngrok,安装之后,输入  "ngrok.exe http 80"

即可获取域名网址:(如:http://62ff06c6.ngrok.io   ->对应的就是localhost:80端口)

一,微信公众号的thinkphp服务器配置与token认证_第2张图片

                     2.在获取后域名后即可在微信公众号中进行验证了。

                                    1.在服务端将token设置好相同的。2.将url设置为域名加默认的入口。

                 一,微信公众号的thinkphp服务器配置与token认证_第3张图片

点击提交即可认证。该认证可能会有延迟,所以多点击几次提交即可。 

你可能感兴趣的:(微信公众号)