У changelog Cloudflare описано оновлення RealtimeKit: тепер бекенд може не лише видати учаснику токен доступу до зустрічі, а й задати для нього власне вікно дії та відкликати окремий токен без зупинки всієї зустрічі.
Навіщо керувати часом дії токена
За описом Cloudflare, раніше кожен токен RealtimeKit був чинним 100 днів від моменту видачі. Це зручно для простих інтеграцій, але створює ризики, коли посиланням діляться, а сесія має бути доступною лише в конкретний час.
Типові сценарії, де це незручно:
- онлайн-уроки або вебінари з чітким розкладом
- співбесіди чи технічні інтерв’ю у фіксованому слоті
- тимчасовий доступ до закритої зустрічі за одноразовим посиланням
Оновлення дає можливість задати часові рамки, коли токен працює, та швидко його відкликати, якщо доступ більше не потрібен.
Як працює видача токена учаснику зустрічі
Базова модель така: ваш бекенд додає participant до зустрічі через API RealtimeKit і у відповідь отримує auth token. Клієнтський застосунок учасника використовує цей токен, щоб приєднатися до зустрічі.
Для виклику API потрібен токен Cloudflare з одним з дозволів:
Realtime AdminRealtime
Додавання учасника відбувається POST-запитом до ресурсу /meetings/$MEETING_ID/participants. У payload ви передаєте дані учасника та параметри токена.
Крок 1 — задати часові межі дії токена
Тепер при додаванні учасника можна передати об’єкт token з полями not_before та expires_on. За описом Cloudflare, це дозволяє зробити так, щоб токен працював тільки в заданий час, наприклад під час конкретного уроку або інтерв’ю.
Ключові моменти:
not_before— час у форматі ISO 8601 (UTC), до якого токен не діє.expires_on— час, після якого токен стає недійсним.- обидва поля опційні — якщо їх не передавати, усе працює по-старому: токен чинний 100 днів від моменту видачі.
Приклад із changelog показує створення учасника з двогодинним вікном дії токена, наприклад для заняття з 15:00 до 17:00 UTC:
curl "https://api.cloudflare.com/client/v4/accounts/$ACCOUNT_ID/realtime/kit/$APP_ID/meetings/$MEETING_ID/participants" \
--request POST \
--header "Authorization: Bearer $CLOUDFLARE_API_TOKEN" \
--json '{
"name": "Mary Sue",
"preset_name": "<preset_name>",
"custom_participant_id": "<uuid_of_the_user_in_your_system>",
"token": {
"not_before": "2026-12-01T15:00:00Z",
"expires_on": "2026-12-01T17:00:00Z"
}
}'
Практичні наслідки:
- якщо користувач відкриє посилання раніше
not_before, токен буде відхилено, і він не потрапить на зустріч - після
expires_onтокен також недійсний — повторний вхід за старим посиланням не спрацює - якщо ви не хочете міняти поточну логіку, можна нічого не робити: за словами Cloudflare, існуючі інтеграції й далі отримуватимуть 100-денні токени
Крок 2 — відкликати окремий токен учасника
Окреме доповнення, яке описує Cloudflare, — можливість revoke a single token без переведення всієї зустрічі в стан INACTIVE.
Що це дає в реальних сценаріях:
- можна відкликати доступ однієї людини, не перериваючи сесію для інших
- зручно, якщо користувач втратив пристрій або посилання стало відомим стороннім особам
- можна комбінувати з коротким часом дії токена для чутливих сесій
За описом, якщо учасник з відкликаним токеном уже в зустрічі, RealtimeKit видаляє його із сесії.
Затримка відкликання токена і миттєве блокування
Cloudflare окремо зазначає важливе обмеження: відкликаний токен може залишатися чинним до 60 секунд, поки зміни розповсюдяться всюди.
З цього випливають два варіанти дій:
- якщо критично перекрити доступ максимально швидко, варто не лише відкликати токен, а й видалити учасника (delete participant) через API
- якщо затримка до 60 секунд прийнятна, достатньо відкликати токен і дочекатися, поки користувач втратить можливість підключатися
Білінг: за що не будуть нараховувати оплату
Ще одна деталь з опису оновлення — поведінка RealtimeKit щодо некоректних токенів. Сервіс відхиляє такі варіанти ще до входу учасника в зустріч:
- токени з вичерпаним
expires_on(прострочені) - токени з часом меншим за
not_before(ще не чинні) - відкликані токени
Cloudflare прямо вказує, що за таких спроб підключення білінг не нараховується, оскільки учасник фактично не входить до зустрічі. Це зменшує ризик неочікуваних витрат у разі масових спроб використати застарілі чи скомпрометовані посилання.
Що почитати далі в офіційній документації
Для впровадження або тонкого налаштування поведінки токенів RealtimeKit Cloudflare дає посилання на окремі розділи документації:
- Token validity and refresh — деталі життєвого циклу токена та варіанти оновлення
- Revoke tokens — точні кроки й параметри для відкликання
- Add participant API — повна специфікація методу додавання учасника
- Refresh participant token API — варіанти оновлення токена без повного перевидавання учасника
Комбінація цих можливостей дозволяє будувати моделі доступу до відеозустрічей, які прив’язані до розкладу, ролей користувачів і конкретних пристроїв, з можливістю точково відкликати доступ при необхідності.
Джерело: Cloudflare Changelog