开发环境
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}"
已经用nat123解决了
本地部署已经不支持了。