今天在搞微信小程序验证工做php
在配置消息推送里Tokent 一直校验失败html
把全部能想到的问题都解决了,但一仍是校验失败小程序
通过反复测试和网友的回答终于解决微信小程序
其实微信向您的服务器发送验证请求时api
你只须要将微信发送过来的echostr 再返回给它就能够验证经过了服务器
固然正常状况下按照微信的文档,你应该对微信发送的数据进和你本地的数据进行对比,若是数据一致才告诉它验证经过微信
我这里只是测试环境为了偷懒才这样作的,正式环境仍是应该遵照规则post
<?php //只须要将微信发送过来的随机字符串返回给微信便可验证经过 echo ($_GET['echostr']);
//必须使用echo返回给微信服务器,使用return是无效的
//就是此问题花了我2个小时的时间 //return ($_GET['echostr']); die(); //code from https://mp.weixin.qq.com/debug/wxadoc/dev/api/custommsg/callback_help.html function checkSignature() { $signature = $_GET["signature"]; $timestamp = $_GET["timestamp"]; $nonce = $_GET["nonce"]; $token ='your_tokent'; $tmpArr = array($token, $timestamp, $nonce); sort($tmpArr, SORT_STRING); $tmpStr = implode( $tmpArr ); $tmpStr = sha1( $tmpStr ); if( $tmpStr == $signature ){ if(isset($_GET['echostr'])){ return $_GET['echostr']; } return true; }else{ return false; } } echo checkSignature(); ?>
参考:测试