美文网首页
“Token校验失败,请检查确认”解决方法

“Token校验失败,请检查确认”解决方法

作者: mr_franklin | 来源:发表于2017-12-20 13:36 被阅读3241次

微信小程序后台配置消息服务器时报错:“Token校验失败,请检查确认”


image.png

我服务器端是用的java的springboot框架,本以为直接return字符串就可以了:

@RequestMapping(value = "/",method=RequestMethod.GET)
    public String checkWeixinValid(@RequestParam(name="signature")String signature,
                            @RequestParam(name="timestamp")String timestamp,
                            @RequestParam(name="nonce")String nonce,
                            @RequestParam(name="echostr")String echostr){
      // .......
      return echostr;
}

但这样会一直报上述错误。
后来发现返回的字符串会多出俩双引号,比如: "2205560651034517463"。
找了一下原因,定位到我配置的messageConvert,使用了fastjson用来处理json。但是,当它解析一串字符串时,会加上双引号。为避免这个问题,可以在它之前加入处理字符串的convert,比如:StringHttpMessageConverter,这样字符串就不会由fsatjson再加工了。


事后总结:
找这么个问题花了我不少时间,期初我一直以为是微信服务的问题,光刷新它的页面就不下5次。
其实,微信经过这么多年大用户量的考验,它的服务已经很健壮了,有bug的情况极少。当出问题时首先还是要想是不是自己代码的问题。
从本源入手,要有怀疑精神,但是要有一定的实事依据做基础,凭空怀疑,就太武断了。

特此记录下来,吸取教训。

相关文章

网友评论

      本文标题:“Token校验失败,请检查确认”解决方法

      本文链接:https://www.haomeiwen.com/subject/enrgwxtx.html