Авторизация

Для авторизации пользователя через Telegram.WebApp необходимо использовать метод /auth/telegram.

После получения токена пользователя, его необходимо сохранить на своей стороне (например, в localStorage).

При этом, необходимо учитывать, что WebView используемый в телеграм, имеет общий localStorage для разных аккаунтов.

После получения токена, в методы, которые этого требуют необходимо отправлять заголовок Authorization, в значении которого указывать полученный(сохраненный) токен.

Authorization: {{ token }}

При вызове метода, который требует сессию пользователя и неуспешной авторизации или неверном токене, в ответ метод вернет ошибку.

{
    "error": {
        "code":      10401,
        "text":      "Authorization required",
        "error_id":  990,
        "timestamp": 1597852096.013394
    }
}

Одна активная сессия

У каждого пользователя может быть только одна активная сессия. При повторной авторизации (с любого устройства или платформы) предыдущая сессия становится невалидной.

При использовании невалидного токена после повторной авторизации, метод вернет ошибку:

{
    "error": {
        "code":      10450,
        "text":      "Session replaced: session_replaced",
        "reason":    "session_replaced",
        "error_id":  0,
        "timestamp": 1597852096.013394
    }
}
Код ошибки Описание
10401 Сессия не найдена или токен невалиден — требуется повторная авторизация
10450 Сессия заменена — выполнена авторизация с другого устройства, требуется повторная авторизация