Spaces:
Running
Running
Update app.py
Browse files
app.py
CHANGED
@@ -996,7 +996,13 @@ def get_order_monitop():
|
|
996 |
logging.error(f"An error occurred: {str(e)}")
|
997 |
return json.dumps({"error": str(e)}), 500
|
998 |
|
999 |
-
|
|
|
|
|
|
|
|
|
|
|
|
|
1000 |
|
1001 |
# Функция для для Чтение ордера для приложения
|
1002 |
@app.route('/get_order', methods=['POST'])
|
|
|
996 |
logging.error(f"An error occurred: {str(e)}")
|
997 |
return json.dumps({"error": str(e)}), 500
|
998 |
|
999 |
+
# Функция для валидации подписи ВК приложения
|
1000 |
+
def is_valid(*, query: dict, secret: str) -> bool:
|
1001 |
+
"""Check VK Apps signature"""
|
1002 |
+
vk_subset = OrderedDict(sorted(x for x in query.items() if x[0][:3] == "vk_"))
|
1003 |
+
hash_code = b64encode(HMAC(secret.encode(), urlencode(vk_subset, doseq=True).encode(), sha256).digest())
|
1004 |
+
decoded_hash_code = hash_code.decode('utf-8')[:-1].replace('+', '-').replace('/', '_')
|
1005 |
+
return query.get("sign") == decoded_hash_code
|
1006 |
|
1007 |
# Функция для для Чтение ордера для приложения
|
1008 |
@app.route('/get_order', methods=['POST'])
|