一行代码验证微信服务器配置

今天在搞微信小程序验证工作

在配置消息推送里Tokent 一直校验失败

把所有能想到的问题都解决了,但一还是校验失败

经过反复测试和网友的回答终于解决

其实微信向您的服务器发送验证请求时

你只需要将微信发送过来的echostr 再返回给它就可以验证通过了

当然正常情况下按照微信的文档,你应该对微信发送的数据进和你本地的数据进行对比,如果数据一致才告诉它验证通过

我这里只是测试环境为了偷懒才这样做的,正式环境还是应该遵守规则

<?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(); ?>

 

参考:

微信小程序消息推送配置的token令牌一直验证错误

posted @ 2017-08-17 16:50  HTL  阅读(544)  评论(0编辑  收藏  举报
htl