Ошибка в функции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
Реклама
Ответить Пред. темаСлед. тема

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

  • Похожие темы
    Ответы
    Просмотры
    Последнее сообщение

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