3.4 KiB
3.4 KiB
Архитектура Kit.Auth.Db
Обзор
База данных авторизации платформы Kit. Хранит данные пользователей и связанные сущности (кабинеты — LEGACY).
Схема
Единая схема auth — изолирует объекты авторизации от других доменов.
Таблицы
auth."user"
Основная таблица пользователей. Зарезервированное слово PostgreSQL, поэтому имя экранируется кавычками.
Ключевые колонки:
id(serial PK) — идентификаторlogin(text, NOT NULL) — логин для входаemail(text) — электронная почта (дополнительный вход)password(text) — хеш PBKDF2 (формат:pbkdf2-sha256$iter$salt$hash)password_temp(text) — DEPRECATED, временный пароль (оставлен для совместимости)outer_user_id(text) — идентификатор во внешней системеis_blocked(boolean) — флаг блокировкиis_deleted/date_deleted— мягкое удаление
Примечание: Состояние аутентификации (подтверждение email, lockout, счётчик неудач) и сессии вынесены в токен-БД (Kit.Auth.Token.Db).
auth.cabinet (LEGACY)
Кабинеты/организации. Будет убрана в будущем.
auth.user_cabinet (LEGACY)
Связь пользователей с кабинетами. Без PK и FK (legacy).
Функции
user
| Функция | Описание |
|---|---|
user_insert |
Вставка пользователя |
user_select |
Выборка с пейджингом и фильтрами |
user_select_by_ids |
Batch-выборка по списку id |
user_get_by_login |
Поиск по логину и паролю |
user_get_for_auth |
Поиск для аутентификации (без проверки пароля) |
user_get_profile |
Профиль владельца токена |
user_delete |
Мягкое удаление |
user_update |
Обновление профиля |
user_update_password |
Установка постоянного пароля |
user_update_password_temp |
Установка временного пароля |
user_set_is_blocked |
Блокировка/разблокировка |
user_login_exists |
Проверка занятости логина |
user_email_exists |
Проверка занятости email |
cabinet (LEGACY)
| Функция | Описание |
|---|---|
cabinet_insert |
Вставка кабинета |
cabinet_select |
Выборка с пейджингом |
cabinet_update |
Обновление |
cabinet_delete |
Мягкое удаление |
user_cabinet (LEGACY)
| Функция | Описание |
|---|---|
user_cabinet_bulk_insert |
Полная замена привязок |
user_cabinet_select |
Кабинеты пользователя |
Связи с другими БД
- Kit.Auth.Token.Db (схема
token) — токены авторизации ссылаются на пользователей поuser_id