Pular para o conteúdo principal

Reset user password (Admin only)

POST 

/company/users/change/:id

Permite que um administrador redefina a senha de qualquer usuário da empresa, gerando uma nova senha aleatória e enviando-a por e-mail.

Objetivo

Facilitar a recuperação de acesso dos usuários por parte dos administradores quando esquecem sua senha ou precisam de ajuda.

Casos de Uso

  • Usuário esqueceu sua senha e pede ajuda ao administrador
  • Administrador precisa restabelecer o acesso de um usuário
  • Redefinição de segurança por solicitação do usuário

Autenticação e Autorização

  • Requer JWT válido (middleware m.isLoged)
  • Requer função de administrador ou desenvolvedor (middleware m.isAdmin)

Comportamento

  • Se nenhuma senha for fornecida, gera uma automaticamente com tools.generatePass()
  • A senha gerada tem 8 caracteres com letras maiúsculas, minúsculas e números
  • Faz o hash da senha com model.getPassword()
  • Envia e-mail com a nova senha usando mail.sendNewPass()
  • Verifica se o usuário pertence à empresa do administrador

Validações

  • O usuário deve existir
  • O usuário deve pertencer à empresa do administrador
  • Se uma senha for fornecida, ela é usada em vez de gerar uma nova

Tratamento da Senha

  • Se uma senha for fornecida no corpo da requisição, ela é usada
  • Se não for fornecida, é gerada automaticamente: 8 caracteres, letras maiúsculas, minúsculas e números
  • A senha é transformada em hash com model.getPassword()
  • É enviada por e-mail ao usuário no idioma configurado (user.i18n)

Observações

  • Diferente de POST /changePass, onde o usuário altera sua própria senha
  • Este endpoint é para que o administrador redefina a senha de outro usuário

Request

Responses

Senha redefinida com sucesso e enviada por e-mail