DmitrMakeev commited on
Commit
b55137d
·
verified ·
1 Parent(s): d4f7767

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +5 -2
app.py CHANGED
@@ -1020,12 +1020,15 @@ def is_valid(*, query: dict, secret: str) -> bool:
1020
  """Check VK Apps signature"""
1021
  logging.debug(f"Checking signature for query: {query}")
1022
 
1023
- # Если у нас нет параметров, начинающихся с 'vk_', просто используем все параметры запроса
1024
  hash_code = b64encode(HMAC(secret.encode(), urlencode(query, doseq=True).encode(), sha256).digest())
1025
 
1026
  # Декодируем base64 и заменяем символы
1027
  decoded_hash_code = hash_code.decode('utf-8')[:-1].replace('+', '-').replace('/', '_')
 
 
1028
  logging.debug(f"Calculated signature: {decoded_hash_code}")
 
1029
 
1030
  # Сравниваем подпись из запроса с вычисленной
1031
  return query.get("sign") == decoded_hash_code
@@ -1059,7 +1062,7 @@ def get_order():
1059
 
1060
  # Нужно добавить проверку подписи
1061
  if not is_valid(query=request.form, secret=secret_key):
1062
- logging.error("Invalid signature")
1063
  return jsonify({"error": "Invalid signature"}), 400
1064
 
1065
  # Проверка наличия vk_id и order
 
1020
  """Check VK Apps signature"""
1021
  logging.debug(f"Checking signature for query: {query}")
1022
 
1023
+ # Сортировка параметров и вычисление хеша
1024
  hash_code = b64encode(HMAC(secret.encode(), urlencode(query, doseq=True).encode(), sha256).digest())
1025
 
1026
  # Декодируем base64 и заменяем символы
1027
  decoded_hash_code = hash_code.decode('utf-8')[:-1].replace('+', '-').replace('/', '_')
1028
+
1029
+ # Логируем вычисленную и присланную подпись
1030
  logging.debug(f"Calculated signature: {decoded_hash_code}")
1031
+ logging.debug(f"Received signature: {query.get('sign')}")
1032
 
1033
  # Сравниваем подпись из запроса с вычисленной
1034
  return query.get("sign") == decoded_hash_code
 
1062
 
1063
  # Нужно добавить проверку подписи
1064
  if not is_valid(query=request.form, secret=secret_key):
1065
+ logging.error(f"Invalid signature for request: {request.form}")
1066
  return jsonify({"error": "Invalid signature"}), 400
1067
 
1068
  # Проверка наличия vk_id и order