-
Notifications
You must be signed in to change notification settings - Fork 398
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Expirar todas as sessões válidas ao resetar a senha do usuário #615
Conversation
The latest updates on your projects. Learn more about Vercel for Git ↗︎
|
428a74c
to
207b2df
Compare
@eletroswing peço que veja a implementação dos testes e caso tenha ficado alguma dúvida, me avise para ajudar a esclarecer 🤝 Em paralelo fica um desafio para todos nós: quais outros cenários a gente poderia garantir o funcionamento neste caso? |
207b2df
to
cfdde6d
Compare
Fiz uma pequena alteração: na query do método que expira todas as sessões, adicionei uma condicional |
@filipedeschamps no commit 207b2df me surgiu uma dúvida. No arquivo A issue:
A dúvida: ...
WHERE user_id = $1 AND expires_at > now()
... [Edit] o tempo que demorei para estruturar minha dúvida foi suficiente para o @filipedeschamps implementar e de quebra responder, sensacionaaal! |
Sensacionaaaaal @kaique-soares muito obrigado pela contribuição e tenho certeza absoluta que o ato de você escrever esse comentário mandou ondas gravitacionais que meu cérebro captou, implementou e acabamos enviando tudo ao mesmo tempo 🤝 Então obrigado por pensar nisso, e obrigado ainda mais por escrever algo detalhado assim! |
Merged! Let's goooooo!! |
Continuação do PR #603 feito por @eletroswing
Antes de tudo, fiz o commit b388a20 com o seguinte:
DELETE
. Isto não está relacionado ao PR original mas aproveitei o embalo no assuntosessions
./user
, e depois de invalidar a sessão, garante que a mesma busca por/user
com a mesma sessão retorna um401
.Então depois disso, no commit cfdde6d trabalhei de fato no que o PR #603 propõe, que é garantir que ao resetar a senha de um usuário, todas as sessões são invalidadas.
AND expires_at >= now()
para só mexer nas sessões que estão para vencer, e não em todas as sessões históricas do usuário.