🐛 fix cqhttp secret checking #289

This commit is contained in:
yanyongyu
2021-03-20 14:49:58 +08:00
parent 22033e1cfb
commit 2166595e50
11 changed files with 61 additions and 54 deletions

View File

@ -1,5 +1,4 @@
import hmac
import base64
import json
import urllib.parse
from datetime import datetime
@ -51,7 +50,7 @@ class Bot(BaseBot):
@classmethod
@overrides(BaseBot)
async def check_permission(cls, driver: "Driver", connection_type: str,
headers: dict, body: Optional[dict]) -> str:
headers: dict, body: Optional[bytes]) -> str:
"""
:说明:
@ -81,7 +80,7 @@ class Bot(BaseBot):
raise RequestDenied(403, "Signature is invalid")
else:
log("WARNING", "Ding signature check ignored!")
return body["chatbotUserId"]
return json.loads(body.decode())["chatbotUserId"]
@overrides(BaseBot)
async def handle_message(self, message: dict):

View File

@ -1,7 +1,9 @@
import hmac
from nonebot.utils import logger_wrapper
import hashlib
import base64
import hashlib
from nonebot.utils import logger_wrapper
log = logger_wrapper("DING")