公众号 多服务器配置_微信公众号开发之服务器接入指南之Java版本

微信公众号开发的官方文档:

https://mp.weixin.qq.com/wiki?t=resource/res_main&id=mp1421135319

其中我们开发好的服务器,在配置到微信公众号开发平台的"服务器地址"之后(下图),在真正生效之前,需要通过验证。

1ab04eb078d1a0b6efa1a5053313281a.png

验证逻辑:

微信服务器会发送一个HTTP GET请求到我们填写的服务器地址URL上。

这个HTTP GET请求携带的参数:

1. signature: 微信加密签名,这是微信平台计算好的一个值,基于开发者填写的token参数和请求中的timestamp参数、nonce参数。

2. timestamp:时间戳

3. nonce:随机数

4. echostr:随机字符串

开发者需要通过编程,若确认此次GET请求是否来自微信服务器。确认的逻辑就是把token, 请求中的timestamp和nouce三个参数作为输入,按照微信公众号开发平台规定的逻辑再计算一次,结果同

如果确实是,需要原样返回echostr参数内容,这样我们开发的微信消息服务器就接入成功了。

不幸的是微信官网上提供的示例代码只有PHP版本的,

c5698fce96fc4e2ad4284bb9371482a2.png

所以我这里提供一份Java版本的:

@GetMapping("/message")

@ResponseBody

public String checkToken(@RequestParam String signature, @RequestParam String timestamp,

@RequestParam String nonce, @RequestParam String echostr) {

boolean result = wxService.checkSignature(signature, timestamp, nonce, echostr);

if (result)

return echostr;

return "FAILURE";

}

checkSignature方法的实现:

public boolean checkSignature(String signature, String timestamp, String nonce, String echostr) {

String[] array = new String[]{ "这里可以硬编码一个token

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值