微信公众号开发之服务器验证接入

  微信公众号开发需要将项目运行在带有独立ip地址的主机上,可以选择内网穿透或者云服务器,我用的阿里云的服务器。微信验证接入过程就是微信给你的服务器发送一个get请求,请求中携带signature、timestamp、nonce和echostr四个参数,其中signature为签名,timestamp为时间戳,nonce为一个随机字符串echostr为返回码,在自己的controller里接收这四个参数,然后对前三个参数做运算,如果运算结果符合预期,将echostr返回给微信服务器,否则返回任意其他字符串。

具体运算步骤为:

1.将微信公众号测试平台上填写的token和timestamp,nonce按照字典序排序

2.对排序后的参数进行sha1加密

3.如果加密后的结果和signature相同则运算通过返回true,否则返回false

 
1.微信公众号测试号的注册和配置

微信公众号测试号提供了一个测试平台,可以在不申请微信公众号的前提下,使用微信提供的公众号接口,注册地址为:http://mp.weixin.qq.com/debug/cgi-bin/sandbox?t=sandbox/login

注册完成后会分配给开发者一个appIDappsecret 这是开发测试号的凭证,很重要。

在微信测试号首页需要填写“接口配置信息”,填写URL和Token。其中 URL是接受微信验证接入请求的地址,端口号必须为80端口,如:http://48.101.190.197/wechat, Token是一个随机字符串,用来做验证。“接口配置信息”填写完成后,点击接入测试按钮,微信服务器会发送请求,启动验证接入流程。

 

2.代码

WechatController.java

//微信验证接入,验证微信发送过来的请求,并做判断,成功返回固定值,失败返回其他值

    @RequestMapping(value = "/wechat", method = RequestMethod.GET)

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值