feat: add app-level authentication foundation
This commit is contained in:
+29
-4
@@ -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`
|
||||
|
||||
Агрегированная статистика по периоду.
|
||||
|
||||
|
||||
Reference in New Issue
Block a user