docs: закрытие продуктовых рисков и новый LDD baseline
This commit is contained in:
@@ -32,8 +32,11 @@ flowchart LR
|
||||
id -.->|JWKS| pr
|
||||
```
|
||||
|
||||
- Браузер никогда не получает JWT: токен живёт в HTTP-сессии web-сервиса
|
||||
(`lms.token`), а в браузер уходит только cookie сессии (`HttpOnly`, 30 дней).
|
||||
- Браузер никогда не получает JWT: access-токен живёт в HTTP-сессии web-сервиса
|
||||
(`lms.token`), а в браузер уходит только cookie сессии `LMS_SESSION`
|
||||
(`HttpOnly`, `SameSite=Lax`, 7 дней sliding). Access-токен — 15 минут,
|
||||
обновляется автоматически за 2 минуты до истечения по refresh-токену;
|
||||
cookie `Max-Age` перевыпускается на каждом ответе.
|
||||
- Все REST-запросы web проксирует на gateway, добавляя `Authorization: Bearer`.
|
||||
- Gateway проверяет подпись токена по JWKS identity и передаёт вниз заголовки
|
||||
`X-Account-Id`, `X-Account-Login`, `X-Account-Role`.
|
||||
@@ -139,12 +142,13 @@ flowchart TD
|
||||
n -->|да| p["Контроллер → сервис → БД"]
|
||||
```
|
||||
|
||||
- Роли: `ADMIN`, `STUDENT`; конвертер ролей читает claim `role` как `ROLE_<role>`.
|
||||
- Публичные пути: `/actuator/**`, `/api/v1/auth/{health,setup,login,jwks.json}`,
|
||||
- Роли: `ADMIN`, `TEACHER`, `STUDENT`; конвертер ролей читает claim `role` как `ROLE_<role>`.
|
||||
- Публичные пути: `/actuator/**`, `/api/v1/auth/{health,setup,login,refresh,jwks.json}`,
|
||||
`/api/v1/content/tree`, `/api/v1/content/{chapter}/{section}/{article}`.
|
||||
`/api/v1/content/assets/**` gateway пропускает без JWT (legacy/публичные
|
||||
`/api/v1/content/assets/**` gateway пропускает без JWT (публичные
|
||||
`ALL`-активы), но academic проверяет видимость статьи и для курсовых или
|
||||
ролевых активов требует токен.
|
||||
ролевых активов требует токен. Файл без привязки к статье — `404` всем,
|
||||
кроме админа (secure-by-default).
|
||||
- RSA-ключи identity хранятся в таблице `settings` и публикуются в JWKS.
|
||||
|
||||
## 5. Рендеринг страниц и защита форм (web)
|
||||
|
||||
Reference in New Issue
Block a user