Потребители
Ваши конечные пользователи на платформе ForestVPN — потребительские аккаунты, аутентификация устройств, сессии и строгая изоляция по проектам.
Потребители — это конечные пользователи вашего продукта. Это намеренно
отдельная от сотрудников проекта система идентификации: потребитель — это
потребительский аккаунт, который существует только внутри вашего проекта,
общается только с плоскостью /consumer/v1 и никогда не может обладать
учётными данными для управления проектом. Разделение структурное — у двух
плоскостей разная аутентификация, разные токены и разные области данных.
Плоскость потребителя
Всё, что делает конечный пользователь, проходит через /consumer/v1/*:
| Область | Эндпоинты |
|---|---|
| Идентификация | GET /consumer/v1/me, привязанные идентичности для входа под /consumer/v1/me/identities |
| Аккаунт | GET /consumer/v1/account, использование по /consumer/v1/account/usage, сценарии экспорта и удаления |
| Аутентификация устройств | семейство /consumer/v1/auth/device/* — запрос/проверка (challenge/verify), токены сопряжения, регистрация, обновление и отзыв сессий |
| Устройства | семейство /consumer/v1/devices |
| Сети | частные mesh-сети (vspace) под /consumer/v1/vspaces |
| Биллинг | собственный тариф, подписка и счета потребителя под /consumer/v1/billing/* |
| Аудит | GET /consumer/v1/audit-log — собственный след потребителя |
Как устройство входит в систему
Семейство аутентификации устройств реализует поток на основе запроса-подтверждения (challenge):
- устройство запрашивает challenge
(
POST /consumer/v1/auth/device/challenge) и доказывает владение своим ключом (…/challenge/verify); - уже авторизованная поверхность может выдать устройству одноразовый
токен сопряжения (
POST /consumer/v1/auth/device/pair-token), чтобы привязать его к аккаунту; - устройство регистрируется (
POST /consumer/v1/auth/device/register) и держит сессию, которую можно обновлять (…/sessions/refresh), — а аккаунт может отозвать любую сессию или все сразу.
После этого GET /consumer/v1/bootstrap выдаёт устройству его профиль
конфигурации — тот самый документ, который
быстрый старт для Apple передаёт в SDK.
Гарантии изоляции
- Потребительский аккаунт привязан к одному проекту; межпроектной потребительской идентичности не существует.
- Приостановка потребительского аккаунта отсекает весь аккаунт — каждая удерживаемая им сессия устройства перестаёт аутентифицировать.
- Данные потребителей (аккаунты, устройства, использование) доступны для запроса только через собственные учётные данные вашего проекта.
Справочник
Каждая операция выше описана в сгенерированном справочнике API в разделе плоскости потребителя.