Bloquear minha conta ("não fui eu")
Tela de autoatendimento para quando a pessoa recebe um alerta de acesso à sua conta que não reconhece. Ao confirmar, o Portal bloqueia a conta e encerra todas as sessões ativas — só o suporte consegue reverter depois.

:::caution Achado real: botão "Cancelar" ilegível (bug de contraste, não é falha de captura)
O botão Cancelar usa a variante outlined do PrimeNG (security-lock-account.component.html)
— borda visível, mas o texto fica praticamente invisível sobre o fundo escuro desta página (que,
diferente das outras telas de autenticação, não tem o cartão branco de fundo). O mesmo acontece
com o botão Ir para o login no estado "Link inválido" (mesma variante outlined, mesmo
case "error" do componente). Reproduzido nas duas capturas desta página — não é um problema do
levantamento, é um bug de contraste real. A confirmar — responsável: time de frontend; data: 24/09/2026.
:::
Antes de começar
- Rota:
/security/lock-account?token=<token>(sem:tenantno caminho). - Componente:
SecurityLockAccountComponent(@pages/authentication/security-lock-account). - É preciso ter um
tokenassinado na URL, recebido no e-mail de alerta de acesso ("alguém acessou sua conta"). Esse e-mail é disparado por uma verificação de acesso suspeito (ex.: novo dispositivo/local) — o gatilho exato desse alerta é de outro módulo, fora do escopo deste levantamento (que cobriu o frontend de autenticação). A confirmar — responsável: time de frontend; data: 24/09/2026.: como e quando esse e-mail de alerta é disparado. Não foi possível gerar um e-mail de alerta real nesta rodada para obter um token de produção — o comentário no código-fonte do componente descreve o cenário ("item 9, não fui eu") mas o gatilho em si não foi localizado nem reproduzido.
Permissões e acesso
Pública — de propósito. O comentário no código explicita que não há authGuard: o token
assinado da URL é a própria credencial, porque o dono real da conta pode não ter (ou não querer)
uma sessão válida no momento em que percebe o acesso indevido. A rota fica fora do grupo de rotas
autenticadas (tem data: { skipMfaRequired: true }, isentando-a também do redirecionamento de
"MFA obrigatório").
Caminho principal
- A pessoa clica no link do e-mail de alerta de acesso.
- A tela mostra a confirmação: "Alguém acessou sua conta. Se não foi você, bloqueie sua conta agora — isso encerrará todas as sessões ativas e você precisará contatar o suporte para recuperar o acesso."
- Se for engano (foi a própria pessoa que acessou), clica em Cancelar e vai para a home.
- Se não reconhece o acesso, clica em Bloquear conta.
- Em sucesso, a tela muda para "Conta bloqueada" e oferece um botão para ir à tela de login.
Estados e mensagens
| Estado | Quando aparece | |
|---|---|---|
| Confirmação | Token presente na URL | ![]() |
| Link inválido | Sem token na URL | |
| Erro ao bloquear | A chamada à API falha | ![]() |
| Bloqueado com sucesso | A API confirma o bloqueio | Não observado nesta rodada — ver nota abaixo |
:::caution Endpoint indisponível neste ambiente
Ao testar o botão Bloquear conta neste levantamento (com um token de teste, sem validade
real), a chamada POST /api/v1/default/security/lock-account respondeu 404 neste ambiente —
o que fez a tela cair no estado de erro genérico ("Não foi possível bloquear a conta. Tente
novamente."), capturado acima. Isso confirma que a tela trata falhas da API corretamente, mas não
foi possível confirmar o estado de sucesso real ("Conta bloqueada") nem a rota de backend
correspondente neste ambiente. A confirmar — responsável: time de backend (IAM); data: 24/09/2026.: se o endpoint /api/v1/:tenant/security/lock-account está implantado neste
ambiente e, se sim, por que respondeu 404.
:::
Validações e falhas de backend
| Situação | Onde é validada | Comportamento | Como se recupera |
|---|---|---|---|
| Token ausente na URL | Verificado no próprio componente, antes de chamar a API | Mostra direto "Link de bloqueio inválido ou expirado" | Usar o link do e-mail de alerta mais recente |
| Falha ao chamar a API (token inválido, endpoint indisponível, etc.) | POST /api/v1/:tenant/security/lock-account | Volta ao estado de confirmação e mostra toast de erro | Tentar novamente; se persistir, contatar o suporte |
Regras de negócio
| ID | Regra | O que a tela reflete |
|---|---|---|
| RN-01 | Bloqueio encerra todas as sessões ativas | O aviso na tela informa isso antes de a pessoa confirmar |
| RN-02 | Reversão exige suporte | A tela não oferece nenhuma forma de desfazer o bloqueio sozinho |
A confirmar — responsável: time de backend (IAM); data: 24/09/2026.: esta rota
(/api/v1/:tenant/security/lock-account) não pertence ao módulo identity/authentication
reescrito recentemente (documentado em Authentication — visão geral)
— é um endpoint de estilo mais antigo (prefixo /api/v1/:tenant/...). Não existe página de
referência de API para ele nesta documentação ainda.
Informações técnicas
Rota da tela: /security/lock-account · Acesso: Público (token assinado na URL)
Rotas de API consumidas:
| Método | Rota | Quando é chamada |
|---|---|---|
| POST | /api/v1/:tenant/security/lock-account | Ao clicar em Bloquear conta |
→ Referência de API: A confirmar — responsável: time de backend (IAM); data: 24/09/2026. (não
localizada nesta documentação).
Relacionado
- 🔑 Voltar: Login
- 📂 Módulo (back): Authentication — visão geral
