微信公众平台设置的URL和token
2016-08-26 09:32
316 查看
如下图,配置开发者时会让填写URL和token:
这个URL和token是作什么用的呢?
checkSignature是验证签名的,当开发者在公众平台提交URL和token时,微信服务器将发送GET请求到填写的URL上,并且带上四个参数:
开发者在自己的网页内请公众平台的请求做签名验证,通过之后输出echostr字段即可。至于具体的验签规则,可以看checkSignature的实现,这里不再赘述。
这个问题很是奇怪,代码是从官方下载的,也很简单:
提交了很多次都不成功,看SAE的日志确实接到了微信的请求。后来反复试了很多次,中间终于提交成功了。所以我判断
启用并设置服务器配置后,用户发给公众号的消息以及开发者需要的事件推送,将被微信转发到该URL中。
说白了就是作为开发者你要定制公众号功能,不想直接微信提供的标准处理消息的模板。设置成功了URL和token后,后面用户发送给你的公众号的数据会先发到微信平台,然后平台转发给我们提供的URL,我们就在这个URL里来定制各种操作,如果需要返回消息给用户,再通过微信平台转发给用户即可。
这个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里来定制各种操作,如果需要返回消息给用户,再通过微信平台转发给用户即可。
相关文章推荐
- 拯救那些奇葩公众号,改名能否改命?
- 拯救那些奇葩公众号,改名能否改命?
- 升讯威微信营销系统开发实践:(3)中控服务器的设计
- 离开了马化腾,张小龙还能不能捣鼓出一个微信?
- 只要有基础的access_token和用户openid就可以判断用户是否关注该公众号
- 微信公众号开发多少钱
- 微信扫一扫支付(java版)
- Android 仿微信朋友圈9宫格图片展示&多选图片
- AndroidRichText 让Textview轻松的支持富文本(图像ImageSpan、点击效果等等类似QQ微信聊天)
- 微信开发获取地理位置实例(java,非常详细,附工程源码)
- PHP微信支付开发
- 04.接收用户消息
- iOS-微信-分享
- 微信开发之本地开发环境的部署;本地当服务器!实时调试;
- 微信企业支付开发
- 链表写的小程序
- 苹果端手机微信页面长按图片无法保存的解决方案
- Protocol buffer序列化及其在微信蓝牙协议中的应用
- 封装微信分享到朋友/朋友圈js
- 微信能从图片获取位置信息,原理其实很简单