收藏
回答

公众号服务器配置为什么一直token验证失败? flask 框架

开发环境

1.本地部署服务器

2.ngrok内网穿透获取公网ip

白名单也配置了,点击提交提示token验证失败。我是小白,查了很多资料都找不到原因,各位大神指导一下,感谢。自我排查得出的问题,点击提交后,
服务器也获取不到signature等信息,难道是必须用备案过的域名?或者其他原因?

@app.route('/wx', methods=['GET'])
def wechat_token_auth():
    token = "python"  # 在微信公众平台设置的 Token

    try:
        signature = request.args.get('signature')
        timestamp = request.args.get('timestamp')
        nonce = request.args.get('nonce')
        #将 token、timestamp、nonce 三个参数进行字典排序
        params = [token, timestamp, nonce]
        params.sort()

        # 将三个参数拼接成一个字符串
        params_str = ''.join(params)

        # 使用 sha1 算法对字符串进行加密
        sha1 = hashlib.sha1()
        sha1.update(params_str.encode('utf-8'))
        hashcode = sha1.hexdigest()
        print(hashcode)

        # 将加密后的结果与 signature 进行对比
        if hashcode == signature:
            print(request.args.get('echostr'))
            return request.args.get('echostr')
        else:
            return "认证失败"
        return signature,timestamp,nonce
    except Exception as e:
        print(e)

return f"参数不完整,错误信息:{e}"

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

3 个回答

  • cgf
    cgf
    2023-11-30

    已经用nat123解决了

    2023-11-30
    有用
    回复 1
    • H
      H
      02-06
      你好,我使用nat123,但是提示我说当前填写的URL存在严重安全风险,无法设置,请问怎么解决吗
      02-06
      回复
  • 大山
    大山
    2023-11-23

    本地部署已经不支持了。

    2023-11-23
    有用
    回复
  • BOBO
    BOBO
    2023-11-23

    不是说不支持内网穿透工具了吗

    2023-11-23
    有用
    回复
登录 后发表内容
问题标签