Atendimento ao Cliente
Impersonação de Usuário para Suporte e Solução de Problemas
A impersonação permite que funcionários autorizados façam login temporariamente como outro usuário para solucionar problemas, verificar configurações ou ver exatamente o que o usuário está experimentando. Este recurso é essencial para o suporte ao cliente, mas requer permissões apropriadas e é totalmente auditado.
Ao impersonar um cliente, a equipe acessa o Portal de Autoatendimento exatamente como o cliente o vê, permitindo uma solução de problemas e suporte precisos.
Veja também: RBAC para configuração de permissões, Clientes para gerenciamento de clientes, Portal de Autoatendimento para recursos do portal do cliente.
Propósito
A impersonação de usuários fornece:
- Solução de Problemas --- Veja exatamente o que o cliente vê para diagnosticar problemas
- Verificação --- Confirme se as configurações de serviço e permissões funcionam corretamente
- Treinamento --- Demonstre recursos da perspectiva do cliente
- Suporte --- Ajude os clientes a navegar pelo sistema sem exigir compartilhamento de tela
- Registro de Auditoria --- Todas as sessões de impersonação são registradas para segurança e conformidade
Permissões Necessárias
Para impersonar usuários, você deve ter uma das seguintes permissões:
can_impersonate--- Permissão de impersonação dedicada para a equipe de suporteadmin--- Acesso administrativo completo (inclui direitos de impersonação)
Usuários sem essas permissões não podem acessar o recurso de impersonação.
Como Impersonar um Usuário
Via Interface Web:
- Navegar até o Cliente --- Encontre o cliente no CRM
- Selecionar Contatos --- Veja a lista de contatos do cliente
- Clique em "Login como Usuário" --- O botão aparece ao lado de cada contato que possui uma conta de usuário
- Confirmar Impersonação --- O sistema pode solicitar confirmação
- Sessão Iniciada --- Você agora está logado como esse usuário

Via API:
Iniciar sessão de impersonação:
Endpoint: POST /auth/impersonate
Permissão Necessária: can_impersonate ou admin
Requisição:
{
"user_id": 42
}
Resposta:
{
"success": true,
"impersonating_user_id": 1,
"target_user_id": 42,
"impersonation_start": "2025-01-04T15:30:00Z",
"access_token": "new_token_for_impersonated_user",
"refresh_token": "new_refresh_token"
}
Os tokens retornados são para a sessão do usuário impersonado.
O Que Acontece Durante a Impersonação
Quando você impersona um usuário:
- Contexto Completo --- Você vê o sistema exatamente como o usuário alvo
vê:
- Seu painel e navegação
- Seus dados de cliente (se usuário cliente)
- Suas permissões e controles de acesso
- Seus serviços, faturas e uso
- Rastreamento de Sessão --- O sistema rastreia ambas as identidades:
impersonating_user_id--- Seu verdadeiro ID de usuáriotarget_user_id--- O usuário que você está impersonandoimpersonation_start--- Quando a impersonação começou
- Indicador --- A interface exibe um banner mostrando que você está
impersonando alguém:
- "Você está atualmente logado como [Nome de Usuário]"
- "Clique aqui para parar a impersonação"
- Registro de Auditoria --- Todas as ações são registradas com ambos os IDs de usuário:
- Ações aparecem como realizadas pelo usuário alvo
- Registros de auditoria registram quem estava realmente realizando-as (usuário impersonador)
- Registro completo de auditoria mantido na tabela
ImpersonationLog
Parando a Impersonação
Via Interface Web:
- Clique no Banner --- Clique no banner de impersonação na parte superior da página
- Ou Navegue --- Vá para o menu do usuário e selecione "Parar Impersonação"
- Confirmação --- A sessão termina e você retorna à sua própria conta
Via API:
Endpoint: POST /auth/stop_impersonation
Requisição: Nenhum corpo necessário (requisição autenticada)
Resposta:
{
"success": true,
"impersonation_end": "2025-01-04T15:45:00Z",
"duration_seconds": 900,
"access_token": "your_original_token",
"refresh_token": "your_original_refresh_token"
}
Sua sessão original é restaurada.
Registro de Auditoria de Impersonação
Todas as sessões de impersonação são registradas na tabela ImpersonationLog
com:
- impersonating_user_id --- Membro da equipe que realizou a impersonação
- target_user_id --- Cliente ou usuário que foi impersonado
- impersonation_start --- Timestamp de início
- impersonation_end --- Timestamp de término (quando a sessão foi parada)
- impersonation_duration --- Duração em segundos
Isso fornece total responsabilidade por todas as sessões de impersonação e permite:
- Auditorias de Segurança --- Revisar quem impersonou quem e quando
- Relatórios de Conformidade --- Demonstrar o uso adequado de acesso elevado
- Investigação --- Rastrear ações durante sessões de impersonação
- Monitoramento --- Identificar padrões de impersonação incomuns
Visualizando Registros de Impersonação:
Administradores podem consultar registros de impersonação via API:
GET /auth/impersonation_logs?user_id={user_id}&start_date={date}&end_date={date}
Filtrar por:
- Usuário impersonador (quem realizou a impersonação)
- Usuário alvo (quem foi impersonado)
- Intervalo de datas
- Duração
Melhores Práticas
- Minimizar Duração --- Impersonar apenas pelo tempo necessário para resolver o problema
- Documentar Propósito --- Anote por que a impersonação foi necessária no registro de atividades do cliente
- Informar Clientes --- Informe os clientes que você pode precisar ver sua conta (política de privacidade)
- Verificar Identidade --- Confirme a identidade do usuário antes de impersonar via sua conta
- Revisar Registros --- Audite regularmente os registros de impersonação em busca de padrões incomuns
- Limitar Permissões --- Conceda
can_impersonateapenas à equipe de suporte que precisa - Treinamento --- Assegure-se de que a equipe entenda a responsabilidade e as implicações de auditoria
Considerações de Segurança
- Acesso Completo --- A impersonação concede acesso completo à conta do usuário alvo
- Nenhuma Senha Necessária --- A impersonação contorna a autenticação (apenas baseada em permissões)
- Ações Registradas --- Todas as ações durante a impersonação são atribuídas ao usuário alvo nos registros da aplicação (mas os registros de auditoria mostram o verdadeiro ator)
- Isolamento de Sessão --- A impersonação cria uma nova sessão; não afeta as sessões ativas do usuário alvo
- Limites de Tempo --- Sessões de impersonação devem ter limite de tempo (configurável)
- Contorno de MFA --- A impersonação contorna os requisitos de 2FA (usa a autenticação do impersonador)
Restrições
- Não é possível Impersonar Administradores --- Dependendo da configuração, pode não ser possível impersonar outros administradores
- Mesmas Permissões --- Você obtém as permissões do usuário alvo, não a união das permissões de ambos os usuários
- Limites de Sessão --- Apenas uma sessão de impersonação por membro da equipe por vez
- Requisitos de Auditoria --- Não é possível desativar ou ocultar o registro de impersonação
Solução de Problemas de Problemas Comuns
Problema: O botão "Login como Usuário" não aparece
- Solução: Verifique se você tem a permissão
can_impersonateouadmin - Solução: Confirme se o contato tem uma conta de usuário vinculada
Problema: A impersonação falha com erro de permissão
- Solução: Verifique se o usuário alvo é um administrador (pode estar restrito)
- Solução: Verifique se sua permissão de impersonação está ativa
Problema: Não é possível parar a impersonação
- Solução: Use o endpoint da API para parar a impersonação:
POST /auth/stop_impersonation - Solução: Limpe os cookies do navegador e faça login novamente com suas credenciais
Problema: Ações não estão sendo registradas corretamente
- Solução: Verifique se a sessão de impersonação está ativa (verifique o banner)
- Solução: Revise os registros de auditoria - as ações são registradas com ambos os IDs de usuário