Skip to content

Аутентификация

Tessium аутентифицирует WebSocket-соединения с помощью API-ключа.

Передача ключа

СпособЛучше всего дляКомпромисс
Query stringБыстрый старт и локальные экспериментыURL может попасть в логи прокси или соединений
Первое сообщениеПродакшен-сервисыКлиент должен отправить auth до любой другой команды

Query string

Укажите ключ в query string при открытии сокета:

wss://api.tessium.dev/stream?key=YOUR_API_KEY

Первое сообщение

Чтобы ключ не попадал в URL, подключитесь к wss://api.tessium.dev/stream и отправьте первым сообщением:

json
{ "op": "auth", "key": "tsk_live_..." }

Создавайте и ротируйте ключи в дашборде.

Рекомендуется для продакшена

Аутентифицируйтесь первым сообщением, чтобы обратные прокси и логи соединений не получали ключ в URL.

Храните ключи на сервере

Относитесь к ключу как к паролю. Не встраивайте платные ключи в публичные фронтенды. Маркетинговое демо может использовать общий бесплатный ключ; продакшен-боты должны держать свой ключ в секрете.

Чеклист безопасности

  • Храните ключи в переменных окружения или менеджере секретов.
  • Используйте отдельные ключи для разработки и продакшена.
  • Никогда не коммитьте ключ и не печатайте его в логах приложения.
  • Немедленно ротируйте ключ, если он мог быть скомпрометирован.
  • Отзывайте ключи, которые больше не используются.

Авторизация и лимиты

Ключ несёт план аккаунта-владельца. Лимиты плана определяют:

  • на какие стримы можно подписаться
  • сколько одновременных подписок и соединений можно держать
  • какие уровни детализации можно запрашивать

Если подписка отклонена, сервер отвечает фреймом ошибки с причиной. Платные апгрейды оплачиваются криптовалютой со страницы цен или через checkout в дашборде.

Состояния ключа

Ключ может быть active, suspended или expired. Suspended и expired ключи отклоняются при аутентификации. Ключ, отозванный во время соединения, даёт key_revoked; прекратите его использовать и ротируйте учётные данные.

Дальше

Realtime Solana data API