Чинит .env.example: убирает мёртвый ADMIN_TG_ID, добавляет PROXY_INTERNAL_SECRET

ADMIN_TG_ID нигде не читается с тех пор, как admin_guard заменили на ролевую
систему (owner/staff/node_manage/partner_guard) — оставлять его в примерах
вводит в заблуждение. PROXY_INTERNAL_SECRET, наоборот, обязателен (main.rs
падает без него при старте), но отсутствовал во всех трёх .env*.example.

Заодно поправлен src/modules/auth/README.md — описывал admin_guard,
которого больше не существует.
This commit is contained in:
2026-07-09 15:33:33 +07:00
parent e6c81bf8fd
commit 591643d364
4 changed files with 50 additions and 19 deletions
+6 -3
View File
@@ -47,9 +47,12 @@
cookie**, дополнительно проверяет `Origin`/`Referer` против `CSRF_ALLOWED_ORIGINS` — это
CSRF-защита. Bearer-запросы её не проходят и не должны: подделать `Authorization`-заголовок
с чужого origin браузер не даст, поэтому CSRF для них неактуален.
- `admin_guard` — должен идти **после** `auth_guard` в цепочке слоёв (читает юзера из
extensions). Пропускает, если `tg_id` юзера совпадает с `ADMIN_TG_ID` из `.env` или его
`role == "admin"`.
- `owner_guard` / `staff_guard` / `node_manage_guard` / `partner_guard` — ролевые гварды
админки (Owner/Moderator/Partner), должны идти **после** `auth_guard` в цепочке слоёв
(читают роль юзера из extensions, второй запрос к БД не нужен). Без завязки на Telegram —
роль назначается через `staff`-модуль (создание Owner — CLI `--create-owner`, дальше
Owner/Moderator создают друг друга через API). `node_manage_guard` — Owner всегда, либо
Moderator с выданным правом `can_manage_nodes`.
## Sybil-защита