Реализованы задачи бэклога 1-5 (1я не до конца)
This commit is contained in:
@@ -85,7 +85,7 @@ Managed PostgreSQL **поднимается до** развёртывания п
|
||||
| Группа | Ключи |
|
||||
|---|---|
|
||||
| Auth | `auth.phone.enabled`, `auth.password.enabled` |
|
||||
| OTP (продукт; потребитель — Keycloak SPI через settings bridge api-backend) | `otp.phone.max_send_attempts_per_24h`, `otp.phone.min_seconds_between_attempts` |
|
||||
| OTP (продукт; потребитель — Keycloak SPI через settings bridge api-backend) | `otp.phone.max_send_attempts_per_24h`, `otp.phone.min_seconds_between_attempts`, `otp.phone.max_verify_attempts` |
|
||||
| Оператор | `operator.call.phone` |
|
||||
| Consent | `consent.personal_data.*`, `consent.user_agreement.*`, `consent.marketing.*` |
|
||||
| Файлы чата | `chat.attachments.*` |
|
||||
@@ -101,6 +101,7 @@ auth.password.enabled=false
|
||||
|
||||
otp.phone.max_send_attempts_per_24h=3
|
||||
otp.phone.min_seconds_between_attempts=30
|
||||
otp.phone.max_verify_attempts=5
|
||||
|
||||
operator.call.phone=+74999591007
|
||||
|
||||
@@ -322,7 +323,7 @@ MVP-механизм:
|
||||
|
||||
1. `api-backend` читает публичные/служебные настройки из `app_settings` и кэширует их.
|
||||
2. Для Keycloak SPI доступен internal endpoint `GET /internal/settings/v1/otp` в Docker/VPC-сети, защищённый service token.
|
||||
3. Keycloak SPI читает `otp.phone.max_send_attempts_per_24h` и `otp.phone.min_seconds_between_attempts` через этот endpoint с локальным cache TTL.
|
||||
3. Keycloak SPI читает `otp.phone.max_send_attempts_per_24h`, `otp.phone.min_seconds_between_attempts` и `otp.phone.max_verify_attempts` через этот endpoint с локальным cache TTL.
|
||||
4. При недоступности settings bridge SPI использует последнее валидное cache-значение; если cache пустой — fail-closed и не выдаёт OTP.
|
||||
|
||||
Счётчики попыток OTP остаются в зоне Keycloak/SPI, не в `api-backend`.
|
||||
|
||||
Reference in New Issue
Block a user