Форматы токенов
Все токены и идентификаторы, с которыми работают интеграции, — префиксы, длина, срок жизни и где их принимают.
У каждого секрета Calab — свой узнаваемый префикс. Так сканеры секретов (GitHub и другие) находят утёкший токен, а ваш код может отличить один вид токена от другого до запроса к серверу. Сервер хранит только хеши секретов — показать токен повторно нельзя.
Сводка
| Токен | Формат | Срок жизни | Где принимается |
|---|---|---|---|
| Токен бота | calab_bot_<id бота>_<43 символа> | до перевыпуска или отзыва | REST (Authorization: Bearer), gateway (IDENTIFY, RESUME) |
client_id OAuth | calab_client_<43 символа> | пока клиент не удалён | параметр client_id; не секрет |
| Секрет OAuth-клиента | calab_os_<43 символа> | бессрочно; после смены прежний действует 10 минут | token endpoint (client_secret_basic) |
| Authorization code | calab_oc_<43 символа> | 1 минута, одноразовый | token endpoint |
| Access-токен OAuth | calab_oa_<43 символа> | до 5 минут | только /userinfo провайдера |
| Refresh-токен OAuth | calab_or_<43 символа> | 8 часов, 30 минут без использования; ротируется | token endpoint |
| ID token | JWT, RS256 | как access-токен | проверяется вашим приложением по jwks_uri |
| Токен LiveKit | JWT | 10 минут | сервер LiveKit (url из POST /api/rooms/{id}/join) |
43 символа — это 32 случайных байта в base64url без выравнивания.
Токен бота
calab_bot_0192a1b2-3c4d-7e5f-8a9b-0c1d2e3f4a5b_Xq3v9aT2LmN8pR4sW7yZ1bC5dF0gH6jK3nQ9uV2xE8w- id бота — UUID пользователя-бота; по нему сервер находит бота за один запрос.
- Первые 6 символов секрета видны в профиле бота как
tokenPrefix— по ним различают токены. - Передаётся только в заголовке
Authorization: Bearerи в кадрах gateway. Никогда — в URL. - Подробно — Токен и права.
Проверить, похожа ли строка на токен бота, можно регулярным выражением:
^calab_bot_[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}_[A-Za-z0-9_-]{43}$Токены OAuth
Access- и refresh-токены, коды и секреты OAuth непрозрачны — не разбирайте их. Access-токен OAuth не работает в REST API Calab и gateway: это пропуск только к /userinfo провайдера пространства. И наоборот, токены ботов и приложения Calab не принимаются провайдером OAuth. Подробно — OAuth: токены и сроки.
Токены приложения
У людей в приложении Calab свои access- и refresh-токены сессии. Это внутренний механизм приложения: интеграциям они не нужны и не должны попадать к ним. Для доступа программ используйте бота, для входа людей в ваш сервис — OAuth.