Пейволы и Подписки

JWT для платного контента: как устроена проверка доступа и где она ломается

JWT для платного контента: как устроена проверка доступа и где она ломается

Токен доступа — компактный способ не ходить в базу на каждый запрос. Сервер выдаёт подписанный токен с информацией о подписке, клиент прикладывает его к запросам, сервер проверяет подпись и срок.

Минимальный набор полей в токене для подписки:

sub — идентификатор пользователя
plan — тариф
exp — срок действия токена
sub_until — дата окончания оплаченного периода

Где обычно ломается:

— Токен живёт долго, подписка отменена, а доступ остаётся до истечения токена. Решение: короткий срок токена (минуты-часы) плюс токен обновления, при выдаче которого проверяется реальное состояние подписки.
— Секрет подписи лежит в репозитории. Кто угодно с доступом к коду может выписать себе токен навсегда.
— Проверяется только наличие токена, но не поле plan. Подписчик базового тарифа открывает премиум-разделы.

Правило: токен решает вопрос «кто это», а вопрос «что ему можно» решается сверкой с базой хотя бы раз в несколько минут.
Этот пост опубликован в Telegram-канале Пейволы и Подписки. Подписаться можно по ссылке: @paywall_setup.
verticals

Свежие посты в категории «Verticals & Offers»

Все каналы категории →

start

Готовы запустить рекламу через сеть public.tg?

Новый оффер, продукт, GEO, кейс, событие или партнёрский запуск — соберём маршрут под задачу и отдадим медиаплан.

Telegram для медиаплана: @AFFtop_connect. Быстрый тест: $20 за канал, $1000 за пакет по сети.