Аутентификация и токены
Три вида токенов Multica — для browser, CLI и daemon. Когда какой использовать.
У Multica три вида токенов — по одному на контекст: Web UI в browser, command line и scripts, daemon. Все представляют вас, но scope и lifetime различаются.
Три токена
| Token | Format | Where it's used | Lifetime |
|---|---|---|---|
| JWT cookie | multica_auth cookie (HttpOnly) | Web browser | 30 days |
| Personal access token (PAT) | Prefixed with mul_ | CLI, scripts, direct API calls | No expiry by default; when you create one via the API you can pass expires_in_days |
| Daemon token | Prefixed with mdt_ | Daemon-to-server communication | Managed by the daemon itself |
В повседневной работе напрямую трогаете первые два. Daemon token создаёт и обновляет multica daemon login — думать о нём не нужно.
Что может каждый токен
| API route | JWT cookie | PAT | Daemon 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
- Введите email; server отправляет 6-digit code.
- Введите 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.
Далее
- CLI command reference — auth автоматический для каждой CLI command
- Self-host auth configuration — email, OAuth, signup allowlists при self-host
- Daemon and runtimes — откуда daemon token