Autenticação por email com senha que expira

Boa tarde meus caros.

Estou com uma task para implementar em um dos sistema que dou manutenção.
Preciso criar uma tela de login para autenticação onde o usuário só vai entrar com o e-mail, depois de clicar em enviar eu tenho que enviar um e-mail para ele com uma senha aleatório, até ai eu acho simples,
porém não sei como posso autenticar essa senha aleatório para liberar um campo para ele colocar a senha e prosseguir com o login, e essas senha só pode valer por 1 minuto para aquele e-mail.
Alguém tem algo que possa me ajudar a implementar isso, alguma lib ou dicas. Agradeço.

Nesse caso é só lógica mesmo,

1 - O usuário inseriu o email e apertou em enviar
2 - Você gerou uma senha, certo? Você pode salvar essa senha no banco de dados, ou até num .csv, e deixar guardado lá.

No seu banco é interessante você nunca excluir essas senhas, pode fazer uma coluna chamada ‘Status’ e que ela mude entre 0 e 1 (onde 0 é Ativo e 1 é Expirado).

Precisaria de mais duas colunas: Data (timerstamp). Você pode fazer de um jeito simples usando o pretty timer,

Ou pode fazer algo diretamente no banco de dados, usando Trigger:
http://www.postgresqltutorial.com/creating-first-trigger-postgresql/

1 curtida

@rodriguesabner obrigado pela dica, terminei a task, eu gero uma senha de 5 dígitos e faço uma criptografia e mando para o e-mail com um link de um serviço meu, nesse link, dou um get com o e-mail, data com hora e senha para cadastrar no banco, para validar só verifico se passar de um minuto e lanço uma exceção e não deixo logar, ficou legal.

Obrigado pelas dicas.