Ir para o conteúdo principal

Alteração e expiração de senhas do sistema Consignação

Data de elaboração 28/02/2023
Responsável pelo estudo
  1. Rafael Passos dos Santos (Assessor)
Equipe do estudo
  1. André Honório de Andrade Silva (Tecnico)
  2. Gezinéia Paula da Costa (Product Owner)
  3. Emanuel Rufino Alcantara de Lima (Analista)
  4. Rafael Passos dos Santos (Assessor)
  5. Alef Carvalho (Analista)
  6. Gustavo Félix (Analista)
Alvo Consignação
Origem

Implementação: Alteração e expiração de senhas do sistema de Consignação

Objetivo

O presente estudo visa analisar e propor a funcionalidade para alterar e expirar senhas de usuários do sistema Consignação

Documentação correlata
Observações O presente estudo pretende também pretende levantar as Historias dos cards para a Sprint 


1. Objetivo

O presente estudo visa analisar e propor a funcionalidade para alterar e expirar senhas de usuários do sistema Consignação.

1.1 JUSTIFICATIVA

O sistema não conta com uma ferramenta automatizada em que o próprio usuário realize a alteração de senha. Também é necessário criar um mecanismo para expirar a senha.

1.2 RESULTADOS ESPERADOS

Espera-se que, após este estudo, seja possível identificar uma forma para que o próprio usuário realize a alteração de senha.

2. Introdução

Há a necessidade de alteração de senha por parte do usuário, pois este item não está funcionando.

3. Desenvolvimento - Reset e expiração de senhas dos usuários

3.1 CENÁRIO ATUAL

No momento que foi realizado o estudo, somente o usuário MASTER realizava a alteração de senhas dentro do sistema.

Existia uma funcionalidade para alteração de senhas, porém a mesma parou de funcionar e foi retirada do front-end do sistema.

Ao analisar o código fonte, foi possível identificar os passos para recuperação de senha:

image.png

Ação Parâmetros Descrição
Método de solicitar a recuperação a senha

login e email

- É gerado um token de confirmação

- É criado um registro no banco na tabela FuncionarioRecuperacaoSenha

- É criado e enviado o email para recuperação de senha

Método de alterar a senha

token e novaSenha

- É buscado um funcionário por um token

- Caso o funcionário seja encontrado, é realizada a alteração da senha.

Observações:

Classes no BackEnd: FuncionarioRecuperacaoSenhaControlador e FuncionarioRecuperacaoSenhaServico

No momento que foi realizado o estudo, a tela de Recuperar a senha não estava funcionando.


3.2 SOLUÇÃO

Após a análise do problema, propomos a seguinte solução:

1) Reset de senhas

1 - Criar ou recuperar a tela para a solicitação do reset de senhas

2 - Alterar o envio do email  para utilizar o sistema Hermes.

3 - Criar ou recuperar a tela para realizar o reset de senhas


2) Expiração de senha

1 - Criar um job no CaveiraJob para expirar a senha após um tempo determinado

2 - Mostrar tela informando que a senha foi expirada com link para redirecionamento para o reset de senhas (após o login do usuário)


3.3 IMPLEMENTAÇÃO E HISTÓRIAS DE USUÁRIOS

Para aplicar a solução acima será necessário as seguintes histórias de usuários:

O que? Pontos Regras Produto
Alteração de senhas


Criar ou recuperar a tela para a solicitação de alteração de senhas 5

Nesta tela solicitar usuário e e-mail

Obs: Deve haver um link na tela de login para esta tela.

Consignação
Consumir o sistema Hermes para envio do e-mail de alteração. 8 No e-mail haverá um link para o reset de senhas Consignação
Criar ou recuperar a tela para realizar o reset de senhas 5

Após o envio do email, é necessária uma tela para digitar a nova senha.


O backend irá:

- Alterar a senha no banco

- Atualizar o campo "data de expiração" e "expirado".

Consignação
Expiração de senha


Bloquear login de usuários com senha expirada 5

- Criar campo "Data de expiração"

- Criar campo boleano "Expirado"

Consignação
Criar rota para expirar as senhas e criar um job no CaveiraJob para consumir essa rota 8

- Criar rota para verificar quais logins estão com a data de expiração expiradas


Consignação
Mostrar tela informando que a senha foi expirada com link para redirecionamento para o reset de senhas (após o login do usuário) 5


Consignação

3.4 POSSÍVEIS IMPEDIMENTOS

A linguagem utilizada no projeto é nova para o time.

4. Conclusão

Conclui-se que para a devida implementação destas melhorias, o time poderá, além consultar este documento, consultar a PO e os demais integrantes da SETIC, pois objetiva-se a funcionalidade de resetar a senha dos usuários.