# Quickstart — Spec 004 Desk Account Management **Status:** ✅ Fechada · validada Roger **API:** `0.9.4-desk-2fa-recovery` **URLs:** https://desk.ligbox.com.br · https://api.ops.ligbox.com.br --- ## Fluxo resumido ``` Cadastro → Root aprova → Ativação (2/3) → Login → Minha conta ``` --- ## 1. Cadastro 1. https://desk.ligbox.com.br/register.html 2. E-mail (login) + senha + nome 3. Aguardar root ## 2. Aprovação (root) 1. **Mensagens** → pedido pendente 2. Escolher perfil → **Aprovar** 3. Candidato recebe e-mail + ticket ## 3. Ativação 1. Link `activate.html?token=...` 2. Completar **2 de 3**: e-mail · telefone · app (QR) 3. **Ativar conta** OTP chega em `@ligbox.com.br` (VM108). ## 4. Login - E-mail + senha - + TOTP se configurou app na ativação - **Código de backup** (`XXXX-XXXX`) — uso único, gerado na ativação - **Perdi o autenticador** → OTP por e-mail cadastrado → novo QR → novos backup codes ## 5. Minha conta 1. Menu **⚙️ Minha conta** 2. Senha atual + nova + confirmar 3. + **Código 2FA** se 2FA ativo (segurança sessão aberta) 4. **Salvar nova senha** --- ## Variáveis (.env VM122) ```env DESK_PUBLIC_URL=https://desk.ligbox.com.br DESK_SMTP_HOST=10.10.10.122 DESK_SMTP_PORT=25 DESK_MAIL_FROM=ligbox-ops@ligbox.com.br DESK_ROOT_NOTIFY_EMAIL=admin@ligbox.com.br DESK_NTFY_BASE_URL=https://ntfy.sh ``` --- ## Testes API ```bash curl -s https://api.ops.ligbox.com.br/health curl -s -X POST https://api.ops.ligbox.com.br/api/v1/auth/login \ -H 'Content-Type: application/json' \ -d '{"username":"root","password":"..."}' curl -s -X POST "https://api.ops.ligbox.com.br/api/v1/auth/activate/send-email-otp?token=TOKEN" curl -s -X POST https://api.ops.ligbox.com.br/api/v1/auth/change-password \ -H "Authorization: Bearer JWT" \ -H 'Content-Type: application/json' \ -d '{"current_password":"...","new_password":"...","totp_code":"123456"}' ``` --- ## Troubleshooting | Problema | Solução | |----------|---------| | E-mail não chega | `mailq` VM122; caixa `@ligbox.com.br` VM108 | | QR não aparece | Ctrl+Shift+R; `/assets/qrcode.min.js` | | Falha enviar OTP | Logs API; ntfy não bloqueia (fix v0.8) | | Campos apagam ao digitar | Ctrl+Shift+R (fix T044 — refresh não mexe na tela) | | Login pede 2FA | Normal se ativou com autenticador | | Perdeu Google Authenticator | Login → **Perdi acesso ao autenticador** ou código backup | | Sem backup nem e-mail | Root: reset manual SQLite (ver spec) | --- ## Docs - `specs/004-desk-account-management/spec.md` - `docs/email-ligbox-vm108.md` - `docs/postfix-vm122.md`