| Новости | FAQ | Авторы | Документация | В действии | Библиотека |
| Инструменты | Полезные ссылки | Хостинги | Скачать | Примеры | Форум |
AK666 25.04.2023 14:42 / 25.04.2023 14:43
https://core.telegram.org/bots/webapps#validating-data-received-via-the-web-appdata_check_string = ...
secret_key = HMAC_SHA256(<bot_token>, "WebAppData")
if (hex(HMAC_SHA256(data_check_string, secret_key)) == hash) {
// data is from Telegram
}-> $data_src[$form:_auth]
$secret_key[^math:digest[sha256;${Bot.Token};$.format[hex]$.hmac[WebAppData]]]
$data_check_string[]
$data_hash[]
^rem{prepare data_check_string}
$aData[^data_src.split[&]]
^aData.sort{$aData.piece}
^aData.menu{
^if(^aData.piece.left(5) eq "hash="){
$temp[^aData.piece.split[=;lh]]
$data_hash[$temp.1]
}{
$data_check_string[${data_check_string}^if(^data_check_string.length[]>0){^#0A}${aData.piece}]
}
^if(^aData.piece.left(10) eq "auth_date="){
$temp[^aData.piece.split[=;lh]]
$auth_date[$temp.1]
}
}
$result_hash[^math:digest[sha256;$data_check_string;$.format[hex]$.hmac[$secret_key]]]$result_hash и $data_hash - не сходятся.