Основные концепции

Перед началом работы с Авторизой рекомендуется ознакомиться с основными сущностями системы и связями между ними.

Авториза разделяет понятия пользователя и его представления внутри проектов. Это позволяет изолировать данные между проектами и использовать единый механизм аутентификации для различных приложений.

Структура клиента

Клиент управляет проектами и приложениями.

Клиент
   │
   ├── Проект A
   │      ├── Приложение A1
   │      └── Приложение A2
   │
   └── Проект B
          ├── Приложение B1
          └── Приложение B2

Проекты изолированы друг от друга и имеют собственные настройки, пользователей и данные.


Структура пользователя

Пользователь может использовать несколько проектов.

Для каждого проекта создается отдельный профиль пользователя.

Пользователь
      │
      ├── Профиль в Проекте A
      │        ├── Приложение A1
      │        └── Приложение A2
      │
      └── Профиль в Проекте B
               ├── Приложение B1
               └── Приложение B2

Приложения не работают напрямую с пользователем. После аутентификации они получают доступ только к профилю пользователя внутри своего проекта.


Клиент (Client)

Клиент — организация или разработчик, использующие Авторизу для своих продуктов.

Клиент управляет проектами, приложениями и настройками интеграции.

Один клиент может иметь несколько проектов.


Проект (Project)

Проект объединяет приложения, использующие общую систему аутентификации и единый вход.

Все приложения одного проекта работают с одними и теми же профилями пользователей.

Например, в один проект могут входить:

  • основной сайт;
  • мобильное приложение;
  • административная панель;
  • публичный API.

Пользователь проходит аутентификацию один раз и может использовать все приложения проекта без повторного ввода учетных данных.


Приложение (App)

Приложение — отдельная система, подключенная к Авторизе.

Приложением может быть:

  • веб-приложение;
  • SPA;
  • мобильное приложение;
  • серверное приложение;
  • API.

Каждое приложение имеет собственные параметры подключения и идентифицируется в Авторизе отдельно.

Несколько приложений могут принадлежать одному проекту.


Пользователь (User)

Пользователь — человек, использующий приложения клиента.

Пользователь проходит аутентификацию через Авторизу и получает доступ к приложениям проекта.

Пользователь является глобальной сущностью системы и может использовать несколько проектов.


Профиль (Profile)

Профиль — изолированное представление пользователя внутри конкретного проекта.

Именно профиль является субъектом идентификации и авторизации для приложений проекта.

После успешной аутентификации приложения получают информацию о профиле пользователя и работают с ним на протяжении всей сессии.

Каждый профиль принадлежит только одному проекту и недоступен другим проектам.


Зачем нужны профили

Профили позволяют изолировать данные пользователя между различными проектами.

Например, один и тот же пользователь может использовать:

  • интернет-магазин;
  • образовательную платформу;
  • корпоративный портал.

Каждый из этих сервисов будет работать со своим профилем пользователя.

Пользователь
    │
    ├── Профиль интернет-магазина
    │
    ├── Профиль образовательной платформы
    │
    └── Профиль корпоративного портала

При этом:

  • каждый проект видит только собственный профиль пользователя;
  • проекты не имеют доступа к профилям друг друга;
  • связь между профилями разных проектов недоступна приложениям.

Идентификатор профиля

Каждый профиль имеет собственный уникальный идентификатор (UUID).

Этот идентификатор используется для идентификации пользователя внутри проекта и передается в токенах и API.

Пример содержимого токена:

{
  "sub": "4fb3e1af-6e34-4ef1-b4f0-0f2c2b2d6c65"
}

Поле sub содержит идентификатор профиля, а не глобальный идентификатор пользователя.

Приложения должны использовать значение sub как основной идентификатор пользователя внутри проекта.

Не рекомендуется использовать адрес электронной почты в качестве идентификатора пользователя, поскольку он может изменяться в процессе использования системы.


Связи между сущностями

  • Один Клиент может иметь несколько Проектов.
  • Один Проект может содержать несколько Приложений.
  • Один Проект может содержать множество Профилей.
  • Один Пользователь может иметь профили в разных Проектах.
  • Каждый Профиль принадлежит только одному Проекту.
  • Приложения работают только с профилями своего Проекта.
  • Идентификатор профиля (sub) является основным идентификатором пользователя внутри проекта.

Авториза

© 2026 ИП Калинин Александр Викторович
Россия, Новосибирск