jeecg微服务项目调用接口报错Token验证失效的解决方法

Posted 穆雄雄

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了jeecg微服务项目调用接口报错Token验证失效的解决方法相关的知识,希望对你有一定的参考价值。

大家好,我是雄雄。

前言

今天,记录一篇啼笑皆非的问题。

昨晚上在做微信公众号开发时,遇到了个解决好久的问题,即:微信公众号上配置服务器信息之后,回调服务器接口总是报错token验证失败

剧透(这么几个原因 ):

  1. 项目重构一下
  2. 拦截器没有放开(这是最主要的原因)
  3. 服务器中部署的项目不是最新的,重新重构部署

原因分析

我的接口信息如下:

	 /**
     * 微信公众号验证接口
     * @param signature
     * @param timestamp
     * @param nonce
     * @param echostr
     * @return
     */
    @GetMapping("/validationWeCat")
    public String validationWeCat(String signature, String timestamp, String nonce, String echostr)
        return echostr;
        
    

这个接口要是还有问题的话,谁也说不过去吧。。。

但是发到服务器上之后,他就是有问题,问题如下:

这个问题看了下,一般出现这个问题的原因就是:拦截器

于是我检查了下拦截器,代码是没有问题的:

 filterChainDefinitionMap.put("/wecat/**", "anon");

该控制器的拦截也是wecat:

@Api(tags = "微信小程序控制器")
@RestController
@RequestMapping("/wecat")
@Slf4j
public class WeCatController 
	//业务代码


主要是,该控制器下的另一个接口,调用却没有任何问题,特别奇怪:


接口调用如下:


后来怎么检查都没有用,因为无处可改。
然后将代码在本地跑起来,调用接口的时候显示404。找半天原因,idea重启,nacos重启,getway重启,system重启,业务模块重启,都然并卵。

最后将项目重构了下,接口本地调通了。然后服务器上还是不行;

因为我本地没有配置docker,所以每次发布都要麻烦一下同事。

让同事重新部署,调用接口,失败!(报错Token失效)
让同事重构,重新部署,调用接口,失败!(报错Token失效)

纳闷中……

后来同事说了句话,差点儿没给我气死。

…很无语。

重新部署,问题解决。

以上是关于jeecg微服务项目调用接口报错Token验证失效的解决方法的主要内容,如果未能解决你的问题,请参考以下文章

jeecg中新建接口后报错404的解决方法

jeecg中新建接口后报错404的解决方法

Spring Cloud微服务安全实战_5-5_refresh token失效处理

php获取微信基础接口凭证Access_token

PHP 定时任务获取微信 access_token

PHP 定时任务获取微信 access_token