Change user password
POST/company/users/changePass
Permite ao usuário autenticado alterar sua própria senha.
Objetivo
Facilitar a alteração de senha de forma segura pelo próprio usuário, mantendo o histórico de senhas para evitar repetições.
Casos de Uso
- Usuário deseja alterar sua senha periodicamente
- Usuário esqueceu sua senha e usou a recuperação (agora quer uma pessoal)
- Política de segurança exige alteração regular
Autenticação
- Requer JWT válido (middleware m.isLoged)
- Usuário deve estar autenticado
Validações
- A senha atual deve ser válida (model.isValidPassword)
- A nova senha deve coincidir com a confirmação
- A nova senha deve atender aos requisitos de segurança:
- Mínimo de 8 caracteres
- Pelo menos 1 letra maiúscula
- Pelo menos 1 número
- Não pode ser igual às últimas 5 senhas usadas
- Cria notificação ao alterar a senha
Processo
- Usuário envia senha atual e nova senha
- Sistema verifica se a senha atual está correta
- Sistema verifica se new_pass e confirm_pass coincidem
- Se for válida, atualiza para a nova senha com hash
- Limpa recovery_token
- Cria notificação de alteração de senha
- Atualiza token com m.setNewToken()
Mensagens de Erro
- INVALID_PASSWORD (403): Senha atual incorreta
- PASSWORD_NOT_MATCH (405): new_pass e confirm_pass não coincidem
Request
Responses
- 200
- 400
- 401
- 403
- 405
Senha alterada com sucesso
Solicitação inválida. Possíveis causas:
- Campos faltantes na requisição
- Erro ao salvar
Não autorizado. Possíveis causas:
- Token JWT inválido ou expirado
- Usuário não tem permissões
Senha atual incorreta
A nova senha e a confirmação não coincidem.