feat(auth): добавить приложение fw для EvoFirewall
Build and Push Auth Portal Docker Image / build-and-push (push) Failing after 1m15s
Build and Push Auth Portal Docker Image / create-release (push) Skipped

Каталог permissions fw:*, app switcher и docs; убран bgp:firewall после cutover.

Co-authored-by: Cursor <[email protected]>
This commit is contained in:
DenozordecandCursor committed 2026-07-20 19:50:54 +07:00
1 parent 143db3d72e
commit 9b4c7b8b9d
5 files changed
+50 -6

No files matched your search

+2 -3
View File
@@ -1,6 +1,6 @@
# Интеграция auth-portal ↔ EvoBGP
Единый вход: пользователь логинится на auth-portal, получает JWT, переходит в EvoBGP с токеном в URL fragment. EvoBGP API проверяет JWT и права `bgp:*`. API-ключи EvoBGP (viewer/editor/operator/node/firewall) остаются для автоматизации и нод.
Единый вход: пользователь логинится на auth-portal, получает JWT, переходит в EvoBGP с токеном в URL fragment. EvoBGP API проверяет JWT и права `bgp:*`. API-ключи EvoBGP (viewer/editor/operator/node) остаются для автоматизации и нод. Firewall-клиенты перенесены в **EvoFirewall** (`fw:*`).
## Архитектура
@@ -27,7 +27,6 @@ App id в портале: **`bgp`**.
| `bgp:network:read` / `write` | `/network` (пиры и спикеры) |
| `bgp:directories:read` / `write` | `/directories` |
| `bgp:operations:read` / `write` / `admin` | `/operations` (admin = apply/rollback) |
| `bgp:firewall:read` / `write` | `/firewall` |
| `bgp:schedule:read` / `write` | `/schedule` |
| `bgp:monitoring:read` | `/monitoring` |
| `bgp:access:admin` | `/access` (API-ключи) |
@@ -40,7 +39,7 @@ App id в портале: **`bgp`**.
### Ownership
Ресурсы modules / peers / firewall (clients, rules), созданные через JWT, имеют `created_by_user_id`. Видят и редактируют: создатель и portal `is_admin` (или API key `operator`). API keys без user id — tenant-wide scope.
Ресурсы modules / peers, созданные через JWT, имеют `created_by_user_id`. Видят и редактируют: создатель и portal `is_admin` (или API key `operator`). API keys без user id — tenant-wide scope. Firewall — см. EvoFirewall / `docs/integrate-evofirewall.md`.
## Локальный запуск
+26
View File
@@ -0,0 +1,26 @@
# Интеграция auth-portal ↔ EvoFirewall
App id: **`fw`**.
Единый вход: JWT HS256 (общий `JWT_SECRET`), handoff через `#access_token=…`.
## Permissions
| Permission | UI |
|------------|-----|
| `fw:dashboard:read` | Dashboard |
| `fw:agents:read` / `write` | Agents |
| `fw:lists:read` / `write` | IP lists |
| `fw:policies:read` / `write` | Rules / overrides |
| `fw:stats:read` | Stats |
| `fw:settings:admin` | Settings |
## Portal checklist
1. `APP_IDS` включает `fw` (сделано)
2. Admin → Apps: URL EvoFirewall + выдача прав
3. `RETURN_TO_ALLOWLIST` — origin FW
## App env
См. EvoFirewall `docs/integrate-auth-portal.md`.