DmitrMakeev commited on
Commit
6d0b796
·
verified ·
1 Parent(s): 50811c3

Update app.py

Browse files
Files changed (1) hide show
  1. app.py +7 -1
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'])