Multica Docs

Аутентификация и токены

Три вида токенов Multica — для browser, CLI и daemon. Когда какой использовать.

У Multica три вида токенов — по одному на контекст: Web UI в browser, command line и scripts, daemon. Все представляют вас, но scope и lifetime различаются.

Три токена

TokenFormatWhere it's usedLifetime
JWT cookiemultica_auth cookie (HttpOnly)Web browser30 days
Personal access token (PAT)Prefixed with mul_CLI, scripts, direct API callsNo expiry by default; when you create one via the API you can pass expires_in_days
Daemon tokenPrefixed with mdt_Daemon-to-server communicationManaged by the daemon itself

В повседневной работе напрямую трогаете первые два. Daemon token создаёт и обновляет multica daemon login — думать о нём не нужно.

Что может каждый токен

API routeJWT cookiePATDaemon token
/api/user/* (user-level actions)
/api/workspaces/:id/* (workspace-level)
/api/daemon/* (daemon-only)
WebSocket /ws (real-time push)✓ (cookie)✓ (authenticates via first message)

PAT может почти всё — это «полный вы». Daemon token — только то, что нужно daemon: fetch tasks и report results.

Оба могут /api/daemon/*, но scope разный. PAT — весь user; после auth видны все workspace, где вы member. Daemon token привязан к одному workspace при создании и трогает только его resources. В production daemon с daemon token — не shortcut с PAT, иначе privilege больше необходимого.

Вход

Email + verification code

  1. Введите email; server отправляет 6-digit code.
  2. Введите code; server выдаёт JWT cookie (browser) или обменивает на PAT (CLI).

Self-hosting operators: держите MULTICA_DEV_VERIFICATION_CODE пустым на public deployments. Fixed local test code — любой, кто может запросить code, войдёт с этим значением, пока APP_ENV non-production. См. Self-host auth configuration.

Google OAuth

Sign in with Google и стандартный OAuth callback. Self-host требует GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET и redirect URI — Self-host auth configuration.

Создание, просмотр и revoke PAT

Creating PAT двумя способами:

  • Web UI: Settings → Personal Access Tokens → New token
  • CLI: multica login создаёт автоматически, если локального PAT ещё нет

Полный PAT показывается ровно один раз при создании. После refresh или закрытия dialog снова не увидите.

Multica хранит только hash PAT в базе — server не может восстановить original. Скопируйте и сохраните сразу. Потеряли — revoke и новый.

Viewing существующих PAT (name, creation time, last-used — не full token) — Settings → Personal Access Tokens.

Revoking PAT: Revoke в списке. Эффект сразу — следующий request с этим PAT → 401.

Logout удаляет только локальный токен

При multica auth logout или log out в Web UI:

  • Локальный токен очищается — CLI убирает PAT из ~/.multica/config.json; browser удаляет cookie.
  • PAT на server всё ещё valid — если кто-то скопировал PAT до logout (другая machine), может использовать.

Подозрение на утечку PAT — не только logout. Settings → Personal Access Tokens → revoke. Только revoke сразу инвалидирует leaked token.

Далее