收藏
回答

消息推送配置 一直提示Token校验失败,请检查确认

在设置消息推送配置的时候,一直提示 “Token校验失败,请检查确认”, 配置的url 没有请求进来。我是在内网测试,使用了内网穿透, 将本地服务地址映射成外网可以访问的 域名地址,外网也可以直接访问。就是在配置推送消息的时候,一直提示token校验失败。而且微信的请求也没进来。有遇到过这样问题的朋友吗?方便解答一下。谢谢!



回答关注问题邀请回答
收藏

6 个回答

  • 今夕何夕
    今夕何夕
    2019-07-24

    好了,遇到的问题已经解决了。

    2019-07-24
    有用 1
    回复 6
    • 今夕何夕
      今夕何夕
      2019-07-24

      最终的原因可能是因为:微信这边要求 开发者提供的 url地址不能使用代理服务器。


      本人之前想在本地环境 调试,使用的ngrok内网穿透,将本地服务代理到外网。在设置推送消息的时候,一直报错,不是报“连接服务器地址超时” 就是报“token校验失败,请检查确认”。报错的内容不一样,其实原因应该是一样的。本地服务在断点调试时,会发现,微信那边的校验请求根本就过不来。


      在网上找了相关的问题,也有很多开发者遇到类似的问题,但是很少有回复能 说到点子上。只有极少的回复 提到了 “开发者的服务不能使用代理”。


      最后实在解决不了,本人就直接将代码发到线上去,然后一次设置就配置成功了。后续的接收用户的消息,以及发送给用户消息 都 水到渠成。


      这里我强调的的是,原因可能是:微信这边要求 开发者提供的 url地址不能使用代理服务器。

      因为我也不能百分百的确定,只是希望能给遇到相同情况的朋友们,提供一个思路,如果你们遇到这种情况用的时候,用别的方式解决了问题,也希望你们能回复告知我,谢谢!


      我的服务端代码是用java写的,如果有朋友在验证token,或者后续的接收和发送客服消息上遇到问题,也欢迎留言,我这边可以提供具体代码,方便各位解决问题。

      2019-07-24
      回复
    • King-坤
      King-坤
      2019-10-23回复今夕何夕
      你好,我也遇到问题了,方便回复么
      2019-10-23
      回复
    • Terry
      Terry
      2019-12-07
      node全部要代理,那不是断node的后路吗?
      2019-12-07
      回复
    • 可以但没有必要
      可以但没有必要
      2020-03-27回复今夕何夕
      方便私信一下吗?
      2020-03-27
      回复
    • Echo
      Echo
      发表于移动端
      2020-06-23回复今夕何夕
      方便私信吗
      2020-06-23
      回复
    查看更多(1)
  • 对方正在输入...
    对方正在输入...
    10-10

    你好,我这用postman都成功了,数据也返回正确,代码也提示验证成功,但是一直提示Token校验失败


    10-10
    有用
    回复
  • 🇩 🇯 🇲
    🇩 🇯 🇲
    2023-10-03
    • 保存一直提示"Token校验失败,请检查确认",但是文档中说"Token: 可由开发者可以任意填写,用作生成签名(该 Token 会和接口 URL 中包含的 Token 进行比对,从而验证安全性)。"
    • 查看nginx的日志,81.69.101.237 - - [03/Oct/2023:16:53:14 +0800] "GET /wxzbapi/weChatMessage?signature=938973eebfef6108b1ef8eaed5c47e8f7c095bff&echostr=4502454135802558432&timestamp=1696323193&nonce=1070695962 HTTP/1.0" 404 110 "-" "Mozilla/4.0" "-""[::1]:9851" "404"

    使用@RequestParam去接收参数echostr,之前一直接收token参数,跟HTTP 1.0也没有什么关系。

    /**
     * 微信消息推送(测试)
     *
     * @param echostr echostr(令牌)
     * @return 结果
     */
    @RequestMapping("/weChatMessageTest")
    public String weChatMessageTest(@RequestParam("echostr") String echostr)
    {
        logger.info("微信消息推送(测试),参数{}", echostr);
        return echostr;
    }
    
    2023-10-03
    有用
    回复
  • 昔珏
    昔珏
    2022-06-27
    /**
     * 小程序消息接收处理
     * @param request 请求参数
     * @return 发送给微信后台的内容
     */
    @RequestMapping(value = "/receiveMiniMessage")
    public String receiveMiniMessage(HttpServletRequest request) throws Exception {
       String echoStr = request.getParameter("echostr");
       ToolsUtil.print("echoStr" + echoStr);
       return echoStr;
    }
    


    Url(服务器地址):填写一个可以访问的服务器地址,比如此处的URL就是:http://xxx.xxx.com/test/receiveMiniMessage,后台代码如上。

    Token令牌:自定义填写比如:xyz123456,跟上面的Url(服务器地址)无关。

    2022-06-27
    有用
    回复
  • XIN
    XIN
    2020-03-12

    你好,请问消息推送配置中url服务器代码用Java怎么写,方便提供一下具体代码吗?

    2020-03-12
    有用
    回复
  • 是小白啊
    是小白啊
    2019-07-17

    token需要跟url的匹配

    2019-07-17
    有用
    回复 1
    • King-坤
      King-坤
      2019-10-23
      我也运到问题了,能帮忙下么
      2019-10-23
      回复
登录 后发表内容