
ProTrade
Авторизация пользователей сайта — это не выбор «JWT или сессии». Это проектирование доверенных границ, сроков жизни идентичности, политик доступа и наблюдаемости. Мы строим аутентификацию как отдельный домен: Sign-In/Up/Out, восстановление, привязки соц-провайдеров, SSO OIDC интеграция, MFA/пароли-приложения. На стороне авторизации — RBAC роли и права, а также атрибутные политики (ABAC) для гибкости. Ниже — наш инженерный стандарт и анти-паттерны, которые мы встречали на реальных проектах.
Сессионные куки хорошо подходят для веб-клиентов: короткий токен в HttpOnly куке, флагиSecure, SameSite, сервер хранит состояние/«ревоки». JWT удобен как переносной маркер для API-клиентов/мобилок/микросервисов. Мы часто комбинируем: в браузере — сессии, для API/интеграций — подписанные короткоживущие JWT, обновляемые по рефреш-токену. Главный принцип — минимальные срок и объём прав для каждого маркера (PoLP).
HttpOnly.Для корпоративных продуктов мы поднимаем провайдер с OpenID Connect, поддерживаем Federation (Google/Microsoft/ADFS). Сценарий: редирект на авторизацию → короткоживущий код → обмен на токены на сервере → установка сессии. PII и токены не попадут в клиентский JS. Для мультиорганизаций — «организация по домену», привязка ролей и групп через маппинг клеймов.
nonce/state, аудитируйте истечения и неуспешные попытки входа.Роли описывают «кто» (админ, менеджер, аналитик), права — «что можно» (просмотр, редактирование, экспорт).RBAC прост и прозрачен. ABAC добавляет контекст: «можно редактировать только свои объекты», «только в рабочем часу». Мы комбинируем: RBAC для базовых прав, ABAC — для условий. Политики формализуем как декларативные правила, которые одинаково выполняются в сервере и, частично, на клиенте (для «оптимистичных» состояний UI).
read/write/delete/export на домены.Пароли храним только хэшами (современные алгоритмы с солью и адаптивной сложностью), блокируем брутфорс по IP/аккаунту, предлагаем вход по почте/маг-ссылке и TOTP/WebAuthn. UX не раскрывает, существует ли аккаунт («если почта есть — мы отправили ссылку»). Сброс пароля — одноразовый токен с коротким TTL и журналом использования.
Access-токен — минуты, рефреш — дни/недели с ротацией и отзывом при аномалии. Сессии — «скользящие» с ограничением абсолютного TTL. Отзыв выполняется по списку «сгоревших» рефрешей/сессий; при компрометации — тотальная ротация ключей подписи и глобальный логаут.
Backend-for-Frontend выдаёт браузеру только сессию, а сам ходит к провайдерам идентичности/ресурсам с сервера. Так упрощается CORS, скрываются токены, вводятся централизованные лимиты/аудит. Мы предпочитаем BFF для публичных SPA/SSR-продуктов.
Ведём логи входов/выходов, ошибок авторизации, изменений прав. Метрики: время входа, доля MFA, частота срабатывания защит. Дэшборд безопасности — обязательный: видимость аномалий и быстрые действия (отключить доступ, сбросить сессии).
localStorage — XSS заберёт их первым.Итог: надёжная аутентификация — это сессии/токены с малыми TTL, SSO OIDC интеграция для корпоративных сценариев и строгие политики RBAC/ABAC. Мы строим доступ так, чтобы им было удобно управлять, а продукт оставался защищённым. Сроки/стоимость внедрения уточняйте по контактам на сайте.

ProTrade

Studeks

VSP-Garant

Second hands

Omi

MURU