bugfix
This commit is contained in:
parent
e132f9dddc
commit
67fb74fa26
@ -179,6 +179,10 @@ class WOAHandler:
|
||||
async def handle_post(self, request: web.Request) -> web.Response:
|
||||
"""处理用户消息和事件"""
|
||||
# 1. 验证签名
|
||||
query = request.query
|
||||
signature = query.get('signature', '')
|
||||
timestamp = query.get('timestamp', '')
|
||||
nonce = query.get('nonce', '')
|
||||
is_valid, _ = self._verify_signature(request)
|
||||
if not is_valid:
|
||||
return web.Response(text="failed", status=403)
|
||||
@ -189,7 +193,10 @@ class WOAHandler:
|
||||
body = await request.read()
|
||||
# decrypt_message 会自动处理解密和 XML 解析,返回 wechatpy 的消息对象
|
||||
# 如果未开启加密,它也会正常解析 XML
|
||||
msg = self.crypto.decrypt_message(body)
|
||||
msg = self.crypto.decrypt_message(body,
|
||||
signature=signature,
|
||||
timestamp=timestamp,
|
||||
nonce=nonce)
|
||||
except Exception as e:
|
||||
error(f"消息解密或解析失败: {e}, {body=}")
|
||||
return web.Response(text="success") # 防止微信重试
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user