Это пример приложения на FastAPI, которое прячет статический сайт за авторизацией через Телеграм.
Объясняю всё здесь: https://habr.com/ru/articles/801121/
Код предназначен для того, чтобы вы отредактировали его под свои задачи.
- Отредактировать страницу входа в
src/templates/login.html
. Можно оставить всё как есть и вставить юзернейм бота на 54-й строке. Или сверстать свою страничку и сгенерировать кнопку. - Собрать список id пользователей в
whitelist.py
. - Положить свои статические файлы в
site/
, либо поменять вsrc/__init__.py
строку'site/'
на нужный путь.
- Установить зависимости через Poetry:
poetry install
- Задать переменные окружения: случайную строку
JWT_SECRET_KEY
и токен ботаBOT_TOKEN
. - Запустить как обычное приложение FastAPI.
Например, быстро потестить приложение локально (на 80 порте, чтобы работал Telegram Login Widget) можно так:
sudo BOT_TOKEN=... JWT_SECRET_KEY=... uvicorn src:app --reload --port 80