微信公众号java开发6-验证消息来自微信服务器

 时间:2024-11-13 06:44:18

1、首先看一下微信验证消息来自微信服务器的开发文档,配置本地服务器的时候,微信会给本地服务器发送get请求,get请求包含四个参数【signature/timestamp/nonce/echostr】,本地服务器需要通过一定规则将【timestamp/nonce/token】这三个参数组合得到的值和signature进行比对,如果一致,那么配置本地服务器成功,如果不一致,那么配置本地服务器不成功,如下图:

微信公众号java开发6-验证消息来自微信服务器

2、然后在本地项目中的doGet方法中获取【signature/timestamp/nonce/echostr】这四个参数,如下图:

微信公众号java开发6-验证消息来自微信服务器

3、在测试号的配置本地服务器处点击【提交】,得到了这四个参数的值,这四个值打印到了控制台,如下图:

微信公众号java开发6-验证消息来自微信服务器

4、接下来我们来看一下如何来将【timestamp/nonce/token】这三个参数组合的规则,下图中就是组合的规则,在微信公众号的开发文档中可以看到,接下来我们会将这规则编写成代码,如下图:

微信公众号java开发6-验证消息来自微信服务器

5、这个时候我们新建一个方法【check】方法来实现这个规则,如下图:

微信公众号java开发6-验证消息来自微信服务器

6、将这个【check】方法放到【WxService】类中,如下图:

微信公众号java开发6-验证消息来自微信服务器

7、下图中就是【check】方法的具体实现,包括字符串的排序、组合、sha1加密和结果与signature的比较,如下图:

微信公众号java开发6-验证消息来自微信服务器

8、下图中是sha1方法的具体实现,如下图:

微信公众号java开发6-验证消息来自微信服务器

9、然后在servlet的【doGet】方法中使用【check】方法,比对成功之后将echostr这个随机字符串原样返回,比对失败只是在控制台输入结果即可,如下图:

微信公众号java开发6-验证消息来自微信服务器

10、然后在测试号管理的结构配置信息修改点击【提交】,后台比对成功后会返回微信服务器给的随机字符串,然后就会配置成功,如下图:

微信公众号java开发6-验证消息来自微信服务器
  • 怎么参与百度app现金大放送活动
  • 微信怎么转账到账时间延时到账?
  • 如何迅速申请腾讯王卡?
  • 梦幻西游手游60级前攻略
  • 支付宝群名称/群昵称修改方法步骤
  • 热门搜索
    ps怎么添加文字 小孩流鼻血怎么办 压力太大怎么办 胖大海怎么泡 win10怎么激活 韵达快递怎么样 vpn怎么设置 脚上长冻疮怎么办 油耳朵是怎么回事 鼻涕带血丝怎么回事