Перейти к содержанию
Me2eM

Multi-App SSO

Один инстанс Me2eM впускает пользователя во все приложения экосистемы. Аккаунт — seed-фраза: базы пользователей нет — нечего содержать, и нечему утечь.

Stateless auth — нет базы сессий База пользователей не утечет Корреляция — по выбору пользователя Выйти со всех устройств — одна ревокация

Что можно построить

Набор приложений за одним входом: каждое приложение экосистемы принимает одну и ту же идентичность, пользователь вводит seed-фразу один раз — в первом приложении — и все остальные логинят его автоматически. Ноль зарегистрированных аккаунтов: инстанс не хранит ни профилей, ни email, ни хэшей паролей.

Как это работает

Каждое приложение получает собственный Handle, выведенный из seed пользователя. Инстанс выпускает сессию на приложение и держит HttpOnly-cookie своего домена; следующее приложение экосистемы распознаёт cookie и впускает пользователя.

sequenceDiagram
    participant U as Пользователь
    participant A as Приложение A (такси)
    participant M as Инстанс Me2eM
    participant B as Приложение B (фриланс)
    U->>A: вводит seed-фразу (локально)
    A->>M: запрос авторизации, Handle @taxi
    M->>A: session-токен + HttpOnly cookie
    U->>B: открывает приложение B
    B->>M: проверка cookie
    M->>B: сессия подтверждена — авто-вход

Приложения вашего периметра проверяют токены stateless — через verifyStateless (Mode 1); внешние партнёрские приложения проверяют аттестационные цепочки по одному лишь корневому публичному ключу (verifyAttested, Mode 2). Бэкендам не нужно хранилище сессий — одна проверка подписи на запрос.

Бенефиты

  • Нет базы пользователей. Нечего регистрировать, нечему утечь; инстанс хранит только хэшированные refresh-токены и отозванные jti.
  • Мгновенный онбординг. Новый пользователь не стоит инстансу ничего — деривация происходит на клиенте.
  • Корреляция — по выбору пользователя. Каждое приложение видит свой Handle; такси и фриланс не могут связать одного человека, пока он сам не использует один Handle в двух местах.
  • «Выйти со всех устройств» — это запись о ревокации, а не очистка базы.

Компромиссы

  • Seed — единственный ключ обратно. Потеря фразы — потеря всех аккаунтов экосистемы; сброса по дизайну нет.
  • Инстанс должен работать. SSO требует, чтобы сервис Me2eM (облачный или self-hosted) был доступен при входе; это инфраструктура, а не статика.
  • Требование одного домена. Cookie-автовход работает для приложений на домене инстанса (или его поддоменах); полностью внешние приложения идут через Mode 2.
  • Alpha. API пакетов до 1.0; фиксируйте версии.

Ссылки

Вашего сценария здесь нет?

Термины протокола доменно-нейтральны — новые сценарии ложатся на те же примитивы. Начните с quick start или прочтите, как аттестации несут делегируемое доверие.