Авторизация
Для авторизации пользователя через 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 | Сессия заменена — выполнена авторизация с другого устройства, требуется повторная авторизация |