Ошибка в функцииverify_key из библиотеки discord_interactions для Python: подпись была подделана или поврежденаPython

Программы на Python
Anonymous
Ошибка в функцииverify_key из библиотеки discord_interactions для Python: подпись была подделана или повреждена

Сообщение Anonymous »

У меня есть этот фрагмент кода:

Код: Выделить всё

def interactions_view(request):
if request.method == 'POST':
try:
raw_body = request.body
signature = request.headers.get('X-Signature-Ed25519')
timestamp = request.headers.get('X-Signature-Timestamp')

logger.debug(f"Signature (type: {type(signature)}): {signature}")
logger.debug(f"Timestamp (type: {type(timestamp)}): {timestamp}")
logger.debug(f"Raw Body (type: {type(raw_body)}): {raw_body}")

if not signature or not timestamp:
return JsonResponse({'Error': 'Missing signature or timestamp'}, status=400)

try:
verify_key(raw_body, signature, timestamp, PUBLIC_KEY)
except Exception as e:
logger.error(f"Signature verification failed: {e}")
return JsonResponse({'Error': 'Signature verification failed'}, status=401)

. . .
И в журналах сервера возвращается эта ошибка:

Код: Выделить всё

2024-06-29T22:14:41.227687+00:00 app[web.1]: Signature was forged or corrupt
С кодом состояния 200 ОК каждый раз, когда Discord пытается отправить ему запрос POST для проверки (я хочу, чтобы мой сервер был конечной точкой взаимодействия для бота)
Я пробовал декодировать и кодировать ключи в байты и строки, и каждый раз он возвращал разные ошибки, например, «не удалось объединить объект str в байты» и наоборот, среди прочего, например, отладку и сбор информации журнала как показано выше, но ничего не работает. Может кто-нибудь сказать мне, если я что-то упускаю? Или я сделал что-то не так?

Подробнее здесь: https://stackoverflow.com/questions/786 ... thon-signa

Вернуться в «Python»