Skip to content

URL Signer — Безопасность Mini Apps

URLSigner — это специализированный инструмент для создания и проверки защищенных ссылок. Он незаменим при разработке Telegram Mini Apps (TWA), где необходимо гарантировать, что данные, переданные в приложение, не были подменены.


🛡 Зачем это нужно?

Когда бот открывает Mini App, он часто передает в URL параметры (например, user_id). Злоумышленник может попытаться изменить эти параметры в строке браузера.

URLSigner подписывает эти данные с помощью секретного ключа бота. Приложение на бэкенде может проверить эту подпись и убедиться, что ссылка была сформирована именно вашим ботом.


✍️ Использование в боте

Обычно URLSigner используется в оркестраторе для генерации кнопок типа WebApp:

async def render_content(self, payload, director: Director):
    signer = director.container.url_signer
    app_url = signer.sign_params(
        base_url="https://game.codex.bot/start",
        params={"user_id": director.user_id}
    )

    kb = InlineKeyboardMarkup(inline_keyboard=[
        [InlineKeyboardButton(text="Открыть игру", web_app=WebAppInfo(url=app_url))]
    ])

    return ViewResultDTO(text="Нажми кнопку, чтобы начать игру!", kb=kb)

🧭 Связанные разделы

  • Helpers — общая информация о вспомогательных инструментах.
  • API: URL Signer — техническое описание методов.