web_users v0.4.3 [core]


Учётные записи и сессии веб-панели (/api/auth/*, /api/me).

README

# web_users

Учётные записи и сессии веб-панели (/api/auth/*, /api/me).

Тип: Модуль. Категория: `core`. Зависимостей нет.

## Описание

Паспортный стол кабинета: пользователи с логином и паролем (пароли через хеши), вход ставит cookie-сессию `websess`, неудачные логины тормозятся rate-limit'ом.

В правах два независимых неймспейса — `telegram:ID` (люди из бота) и `web:UID` (аккаунты кабинета). Право `all` покрывает всё, кроме ключей из ignore-списка.

Кабинет прав: единая таблица людей из TG и веба, тоглы прав, удаление пользователей (вместе с сессиями, правами и API-токенами).

## Возможности

- `create {username: str, password: str}` → создать пользователя (валидация логина/пароля)
- `verify {username: str, password: str}` → проверить логин/пароль
- `session {token: str}` → cookie-сессия по токену (скользящее продление)
- `session_ttl {}` → TTL сессии в секундах (для продления куки транспортом)
- `drop_session {token: str}` → удалить cookie-сессию (logout)
- `rights_of {uid: int}` → эффективные права пользователя с учётом all/ignore
- `right_catalog {}` → каталог всех прав (для редактора)
- `right_meta {}` → откуда каждое право (модуль/ядро/наследие)
- `all_ignore {}` → ключи, не покрываемые all (для скоупов токенов)
- `delete {uid: int}` → удалить пользователя
- `list {}` → все пользователи (для селектов и подписей)

## Права

- `manage_rights` — Редактор прав веб-панели (/api/admin/users*, /api/admin/rights)

## Web

- `POST /api/auth/register` — регистрация (если открыта)
- `POST /api/auth/login` — вход, ставит cookie
- `POST /api/auth/logout` — выход
- `GET /api/me` — кто я и мои права
- `GET /api/admin/users` — все пользователи с правами
- `POST /api/admin/users/delete` — удалить пользователя
- `POST /api/admin/rights` — тогл права

## Конфигурация (`config.schema.json`)

- Опциональные: `WEB_SESSION_TTL_HOURS` = `168`, `WEB_OPEN_REGISTRATION` = `1`, `WEB_USERS_FILE` = ``, `WEB_SESSIONS_FILE` = ``

Манифест

{
  "name": "web_users",
  "version": "0.4.3",
  "category": "core",
  "description": "Учётные записи и сессии веб-панели (/api/auth/*, /api/me).",
  "requires": [],
  "rights": [],
  "api_methods": [],
  "web_routes": [],
  "commit": "40b35ddb4cb037b3409b990043ce129e64f44bed",
  "updated": "2026-10-08 11:28:39 +0300",
  "history": [
    {
      "version": "0.1.0",
      "date": "2026-09-08 09:46:42 +0300",
      "commit": "5c758d465ca4dd3e1541909f2b685dc5c5424246"
    },
    {
      "version": "0.2.0",
      "date": "2026-09-11 10:24:38 +0300",
      "commit": "1fa8180d936fbda6caa5efa0841f338fe2e569b1"
    },
    {
      "version": "0.3.0",
      "date": "2026-09-11 10:41:03 +0300",
      "commit": "f645c6d24b4da92aba8e00156457b0c440f85d2b"
    },
    {
      "version": "0.4.0",
      "date": "2026-09-17 15:11:46 +0300",
      "commit": "a36a26451f0414d1ca6a70d9d824db1bd557e0bc"
    },
    {
      "version": "0.4.1",
      "date": "2026-09-17 17:34:12 +0300",
      "commit": "31b835f560aa5b26810634238ea21baf9d0b3a63"
    },
    {
      "version": "0.4.2",
      "date": "2026-10-07 22:46:22 +0300",
      "commit": "30231374bb58d56272c7cdc2261989af7146d3a9"
    },
    {
      "version": "0.4.3",
      "date": "2026-10-08 11:28:39 +0300",
      "commit": "40b35ddb4cb037b3409b990043ce129e64f44bed"
    }
  ],
  "integrity": "sha256:0e72eeea7977cc54dbdce0b405a634b6b5b1b73781303d839f728ce3c76159cc",
  "files": "[9 файлов — см. вкладки ниже]",
  "note": "",
  "wdesc": "",
  "wbody": "",
  "_extra": {
    "api": "",
    "events_emitted": "[]",
    "events_subscribed": "[]",
    "audit_allow": "",
    "shared_routes": "",
    "config_schema": "config.schema.json",
    "env_example": ".env.example"
  }
}

Файлы и исходники

Дерево файлов

  • · корень
    • 2.8 КБ
    • 0.7 КБ
    • 0.2 КБ
    • 12.4 КБ
    • 3.8 КБ
    • 4.3 КБ
    • 14.0 КБ
  • web/
    • 2.8 КБ
    • 13.3 КБ

Предпросмотр

Выберите файл в дереве выше — код откроется здесь.

История версий

versiondatecommit
0.4.32026-10-0840b35ddb4cb0
0.4.22026-10-0730231374bb58
0.4.12026-09-1731b835f560aa
0.4.02026-09-17a36a26451f04
0.3.02026-09-11f645c6d24b4d
0.2.02026-09-111fa8180d936f
0.1.02026-09-085c758d465ca4