feat: add app-level authentication foundation

This commit is contained in:
a.tolmachev
2026-03-30 23:47:09 +03:00
parent 91854a4153
commit ab2e603997
42 changed files with 1624 additions and 236 deletions
+29 -4
View File
@@ -182,10 +182,35 @@
- `id`
- `email`
- `display_name`
- `password_hash`
- `status`
- `created_at`
### 3.9. `Membership`
Пароль:
- хранится только как `Argon2id` hash;
- plaintext пароль не сохраняется;
- верификация использует `password_pepper` из env.
### 3.9. `UserSession`
Поля:
- `id`
- `user_id`
- `secret_hash`
- `status`
- `expires_at`
- `last_seen_at`
- `created_at`
Секрет:
- браузеру выдается только opaque session token;
- в persistent storage сохраняется только `secret_hash`;
- подпись и верификация используют `session_secret` из env.
### 3.10. `Membership`
Поля:
@@ -194,7 +219,7 @@
- `role`
- `created_at`
### 3.10. `InvitationToken`
### 3.11. `InvitationToken`
Поля:
@@ -211,7 +236,7 @@
- полный invite token показывается только один раз при создании;
- в persistent storage сохраняется только `token_hash`.
### 3.11. `InvocationLog`
### 3.12. `InvocationLog`
Продуктовая запись о вызове tool.
@@ -230,7 +255,7 @@
- `response_preview`
- `created_at`
### 3.12. `UsageRollup`
### 3.13. `UsageRollup`
Агрегированная статистика по периоду.