Простое приложение, выступащее в роли прокси для работы с Telegram API. Разработано в качестве дополнения к дипломной работе, выполняемой в рамках курса "Java-разработчик с нуля" от Skillbox.
Стек:
- Python 3.6
- Flask + SSLfy + Requests + PyJWT
- Heroku (https://heroku.com)
Сгенерировать можно по ссылке: https://jwt.io/ или с помощью приложения, выполнив команду:
$ . venv/Scripts/activate
$ flask jwtgen --help
$ flask jwtgen --token-id BlogApp --secret "This is a secret" --exp=100
Пример результата:
{
"token": "eyJ0eXAiOiJKV1QiLCJhbGciOiJIUzI1NiJ9.eyJpYXQiOjE1ODI3NTA2MjUsImV4cCI6MTU5MTM5MDYyNSwiaWQiOiJCbG9nQXBwIn0.e30vpV-UcFfiFDKm6IhTOX0eXLy19n40VOznwsKZQos"
}
Формат токена:
{
"iat": 1234567,
"exp": 1239999,
"id": "token_id"
}
Убедиться, что переменные окружения (AUTHORIZED_APP
, JWT_SECRET_KEY
, TELEGRAM_CHAT_ID
, TELEGRAM_TOKEN
, WEB_CONCURRENCY
) установлены:
$ heroku config
Установить необходимые переменные окружения, если не установлены:
heroku config:set AUTHORIZED_APP=BlogApp
heroku config:set JWT_SECRET_KEY=***
heroku config:set TELEGRAM_CHAT_ID=-100***
heroku config:set TELEGRAM_TOKEN=***:******
heroku config:set WEB_CONCURRENCY=3
$ git add .
$ git commit -m "Changes..."
$ git push heroku master
$ . venv/Scripts/activate
$ heroku local -f Procfile.windows web