微信公众平台设置的URL和token

微信公众平台设置的URL和token

如下图,配置开发者时会让填写URL和token:

这个URL和token是作什么用的呢?

token验证原理及作用

首先看如何验证,其实很简单,只要这个地址把echostr信息输出(echo)就可以了。看下官方demo,关键的函数是valid,它的实现:

public function valid() {            //logger("valid");            $echoStr = $_GET["echostr"];            //valid signature , option            if($this->checkSignature()){                //ob_clean();                echo $echoStr;                exit;            }    }

checkSignature是验证签名的,当开发者在公众平台提交URL和token时,微信服务器将发送GET请求到填写的URL上,并且带上四个参数:

参数描述signature 微信加密签名 timestamp 时间戳 nonce 随机数 echostr 随机字符串

开发者在自己的网页内请公众平台的请求做签名验证,通过之后输出echostr字段即可。至于具体的验签规则,可以看checkSignature的实现,这里不再赘述。

token验证失败的问题

我在开发时遇到提交时报 token验证失败的问题,如下:

这个问题很是奇怪,代码是从官方下载的,也很简单:

提交了很多次都不成功,看SAE的日志确实接到了微信的请求。后来反复试了很多次,中间终于提交成功了。所以我判断

什么时候用到URL和token

官方文档说的很清楚:

启用设置服务器配置后,用户发给公众号的消息以及开发者需要的事件推送,将被微信转发到该URL中。

说白了就是作为开发者你要定制公众号功能,不想直接微信提供的标准处理消息的模板。设置成功了URL和token后,后面用户发送给你的公众号的数据会先发到微信平台,然后平台转发给我们提供的URL,我们就在这个URL里来定制各种操作,如果需要返回消息给用户,再通过微信平台转发给用户即可。

免责声明:本网信息来自于互联网,目的在于传递更多信息,并不代表本网赞同其观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,并请自行核实相关内容。本站不承担此类作品侵权行为的直接责任及连带责任。如若本网有任何内容侵犯您的权益,请及时联系我们,本站将会在24小时内处理完毕。
相关文章
返回顶部