Update app.py
Browse files
app.py
CHANGED
@@ -1015,30 +1015,6 @@ def get_order_monitop():
|
|
1015 |
|
1016 |
|
1017 |
|
1018 |
-
# Функция для валидации подписи ВК приложения
|
1019 |
-
def is_valid(*, query: dict, secret: str) -> bool:
|
1020 |
-
"""Check VK Apps signature"""
|
1021 |
-
logging.debug(f"Checking signature for query: {query}")
|
1022 |
-
vk_subset = OrderedDict(sorted(x for x in query.items() if x[0][:3] == "vk_"))
|
1023 |
-
logging.debug(f"Filtered VK params: {vk_subset}")
|
1024 |
-
hash_code = b64encode(HMAC(secret.encode(), urlencode(vk_subset, doseq=True).encode(), sha256).digest())
|
1025 |
-
decoded_hash_code = hash_code.decode('utf-8')[:-1].replace('+', '-').replace('/', '_')
|
1026 |
-
logging.debug(f"Calculated signature: {decoded_hash_code}")
|
1027 |
-
return query.get("sign") == decoded_hash_code
|
1028 |
-
|
1029 |
-
# Чтение ордера по ключу и ВК ИД для приложения
|
1030 |
-
# Функция для валидации подписи ВК приложения
|
1031 |
-
def is_valid(*, query: dict, secret: str) -> bool:
|
1032 |
-
"""Check VK Apps signature"""
|
1033 |
-
logging.debug(f"Checking signature for query: {query}")
|
1034 |
-
vk_subset = OrderedDict(sorted(x for x in query.items() if x[0][:3] == "vk_"))
|
1035 |
-
logging.debug(f"Filtered VK params: {vk_subset}")
|
1036 |
-
hash_code = b64encode(HMAC(secret.encode(), urlencode(vk_subset, doseq=True).encode(), sha256).digest())
|
1037 |
-
decoded_hash_code = hash_code.decode('utf-8')[:-1].replace('+', '-').replace('/', '_')
|
1038 |
-
logging.debug(f"Calculated signature: {decoded_hash_code}")
|
1039 |
-
return query.get("sign") == decoded_hash_code
|
1040 |
-
|
1041 |
-
# Чтение ордера по ключу и ВК ИД для приложения
|
1042 |
# Функция для валидации подписи ВК приложения
|
1043 |
def is_valid(*, query: dict, secret: str) -> bool:
|
1044 |
"""Check VK Apps signature"""
|
@@ -1062,12 +1038,14 @@ def get_order():
|
|
1062 |
apps_id = request.form.get('apps_id', '') # Сюда придет ИД ВК приложения, значение будет ключом для поиска Защищённого ключа в переменной 'api_key_apps_vk'
|
1063 |
sign = request.form.get('sign', '') # Значение sign полученное при запуске приложения
|
1064 |
|
1065 |
-
#
|
|
|
|
|
|
|
1066 |
secret_key = api_key_apps_vk.get(apps_id)
|
1067 |
-
logging.debug(f"Received request for apps_id: {apps_id}")
|
1068 |
logging.debug(f"Secret key for app {apps_id}: {secret_key}") # Выводим сразу ключ
|
1069 |
|
1070 |
-
# Проверка наличия
|
1071 |
if secret_key is None:
|
1072 |
logging.error(f"Secret key not found for app ID {apps_id}")
|
1073 |
return jsonify({"error": "Secret key not found for app ID"}), 400
|
@@ -1096,6 +1074,7 @@ def get_order():
|
|
1096 |
response = {order: 'not'}
|
1097 |
return jsonify(response), 200
|
1098 |
|
|
|
1099 |
shop_st = result[0] if result[0] else '{}'
|
1100 |
shop_st_data = json.loads(shop_st)
|
1101 |
logging.debug(f"Existing record found. Loaded JSON: {shop_st_data}")
|
@@ -1121,10 +1100,6 @@ def get_order():
|
|
1121 |
|
1122 |
|
1123 |
|
1124 |
-
|
1125 |
-
|
1126 |
-
|
1127 |
-
|
1128 |
|
1129 |
|
1130 |
|
|
|
1015 |
|
1016 |
|
1017 |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
1018 |
# Функция для валидации подписи ВК приложения
|
1019 |
def is_valid(*, query: dict, secret: str) -> bool:
|
1020 |
"""Check VK Apps signature"""
|
|
|
1038 |
apps_id = request.form.get('apps_id', '') # Сюда придет ИД ВК приложения, значение будет ключом для поиска Защищённого ключа в переменной 'api_key_apps_vk'
|
1039 |
sign = request.form.get('sign', '') # Значение sign полученное при запуске приложения
|
1040 |
|
1041 |
+
# Выводим параметры запроса для отладки
|
1042 |
+
logging.debug(f"Received request with vk_id: {vkid}, order: {order}, apps_id: {apps_id}, sign: {sign}")
|
1043 |
+
|
1044 |
+
# Получаем секретный ключ по apps_id
|
1045 |
secret_key = api_key_apps_vk.get(apps_id)
|
|
|
1046 |
logging.debug(f"Secret key for app {apps_id}: {secret_key}") # Выводим сразу ключ
|
1047 |
|
1048 |
+
# Проверка наличия секретного ключа
|
1049 |
if secret_key is None:
|
1050 |
logging.error(f"Secret key not found for app ID {apps_id}")
|
1051 |
return jsonify({"error": "Secret key not found for app ID"}), 400
|
|
|
1074 |
response = {order: 'not'}
|
1075 |
return jsonify(response), 200
|
1076 |
|
1077 |
+
# Извлекаем данные о заказах из базы данных
|
1078 |
shop_st = result[0] if result[0] else '{}'
|
1079 |
shop_st_data = json.loads(shop_st)
|
1080 |
logging.debug(f"Existing record found. Loaded JSON: {shop_st_data}")
|
|
|
1100 |
|
1101 |
|
1102 |
|
|
|
|
|
|
|
|
|
1103 |
|
1104 |
|
1105 |
|