spec: simplify runtime requirements
Specs security / security (push) Failing after 8s
Specs verify / verify (push) Successful in 10s
Conventional commits / commits (pull_request) Successful in 12s
Specs security / security (pull_request) Failing after 8s
Specs verify / verify (pull_request) Successful in 10s
Specs security / security (push) Failing after 8s
Specs verify / verify (push) Successful in 10s
Conventional commits / commits (pull_request) Successful in 12s
Specs security / security (pull_request) Failing after 8s
Specs verify / verify (pull_request) Successful in 10s
Preserve identity isolation and financial integrity while accepting cross-tab reauthentication and on-demand candle history. Align portfolio freshness with persisted reads and keep income consistency at the backend owner.
This commit is contained in:
@@ -53,11 +53,21 @@
|
||||
|
||||
#### Scenario: Истёкшая сессия
|
||||
- **WHEN** клиент отправляет refresh-cookie Session, не обновлявшейся более 7 дней
|
||||
- **THEN** система удаляет refresh-cookie и отвечает `401` Problem Details с code `UNAUTHORIZED`
|
||||
- **THEN** система отвечает `401` Problem Details с code `UNAUTHORIZED`, не изменяя cookie неуспешным refresh
|
||||
|
||||
#### Scenario: Повторное использование refresh token
|
||||
- **WHEN** клиент отправляет refresh token, заменённый предыдущим успешным refresh
|
||||
- **THEN** система удаляет refresh-cookie и отвечает `401` Problem Details с code `UNAUTHORIZED`, не отзывая связанную Session только из-за этого запроса
|
||||
- **THEN** система отвечает `401` Problem Details с code `UNAUTHORIZED`, не изменяет cookie и не отзывает связанную Session только из-за этого запроса
|
||||
|
||||
### Requirement: Межвкладочная координация не требуется
|
||||
Frontend MUST сохранять изоляцию данных текущей identity внутри вкладки.
|
||||
Он MUST NOT требовать cross-tab synchronization для auth flow. После смены
|
||||
auth-состояния в другой вкладке допускаются reload или повторная авторизация.
|
||||
Неуспешный refresh MUST NOT удалять cookie успешного конкурентного запроса.
|
||||
|
||||
#### Scenario: Конкурентный refresh проигрывает в другой вкладке
|
||||
- **WHEN** вкладка получает `401` после ротации общей cookie другой вкладкой
|
||||
- **THEN** она может перейти на login; cookie победителя остаётся доступной для последующего восстановления
|
||||
|
||||
### Requirement: Завершение сессии
|
||||
Система SHALL позволять завершить текущую Session через logout. Logout MUST отозвать Session, если refresh-cookie соответствует активной Session, и MUST удалить refresh-cookie. Logout MUST быть идемпотентным и не раскрывать существование Session.
|
||||
|
||||
Reference in New Issue
Block a user