100字范文,内容丰富有趣,生活中的好帮手!
100字范文 > 微信公众号服务器配置及接入验证

微信公众号服务器配置及接入验证

时间:2022-10-04 16:24:29

相关推荐

微信公众号服务器配置及接入验证

目录

一、填写服务器配置

二、微信服务器验证

一、填写服务器配置

登录微信公众平台官网后,在公众平台官网的开发-基本设置页面,点击“修改配置”按钮,填写服务器地址(URL)、Token和EncodingAESKey,

其中URL是开发者用来接收微信消息和事件的接口URL(即自己服务器接收处理url)。Token可由开发者可以任意填写,用作生成签名(该Token会和接口URL中包含的Token进行比对,从而验证安全性)。

EncodingAESKey由开发者手动填写或随机生成,将用作消息体加解密密钥。

二、微信服务器验证

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

填写好服务器之后,先不要提交,在服务器响应url处增加方法处理,以响应微信的验证

路由配置

//微信公众号事件接口Route::any('wxNotify', 'ApiWeChatController@wxNotify');

控制器代码如下

/*** 微信事件通知*/public function wxNotify(){$model = new ApiOther();# 接收值方式为laravel框架封装方法 非框架可使用 $_GET$signature = request()->input('signature');$timestamp = request()->input('timestamp');$nonce = request()->input('nonce');$echostr = request()->input('echostr');echo $model->checkSignature($signature, $timestamp, $nonce, $echostr);}

模型层代码如下

/*** 微信验证签名* @param $signature* @param $timestamp* @param $nonce* @param $echostr* @return bool*/public function checkSignature($signature, $timestamp, $nonce, $echostr){if (empty($signature) || empty($timestamp) || empty($nonce)) return false;$token = 'xxxxxxxxxxxx'; # 自己设定的Token$tmpArr = array($token, $timestamp, $nonce);sort($tmpArr, SORT_STRING);$tmpStr = implode($tmpArr);$tmpStr = sha1($tmpStr);// 检验signature,若确认此次GET请求来自微信服务器,原样返回echostr参数内容,则接入生效,否则接入失败if ($tmpStr == $signature) {return $echostr;}return false;}

写好后,可提交微信配置,开启服务器配置

这样验证URL有效性成功后即接入生效,用户每次向公众号发送消息、或者产生自定义菜单、或产生微信支付订单等情况时,

开发者填写的服务器配置URL将得到微信服务器推送过来的消息和事件,开发者可以依据自身业务逻辑进行响应。

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。