-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
feat: implement forgot password feature #5534
Conversation
Todo List Frontend: Add a reset password link on the login page, create a reset password page |
Hey @crazywoola, could you help set up a connection? It'd be great if we can align better by chatting with our product manager and designer. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
FE LGTM
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nice job! 👍 Got a couple of suggestions:
- On the login page, if the "Forgot Password" link is sent twice, both reset links can be used. It should only allow the last one to be usable.
- If possible, add a rate limit so that password resets can only be requested a certain number of times within an hour to prevent email spam.
…TokenManager to helpers, move rate limit check logic to AccountService
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks!!
Description
Implement forgot password feature.
Fixes #5307
Type of Change
Please delete options that are not relevant.
How Has This Been Tested?
Here are some feature screenshots:
![截屏2024-06-30 21 45 22](https://cdn.statically.io/img/private-user-images.githubusercontent.com/3864413/344539260-f346b342-f034-4807-ac22-04a82d5c67c2.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MjAyNzc2NzcsIm5iZiI6MTcyMDI3NzM3NywicGF0aCI6Ii8zODY0NDEzLzM0NDUzOTI2MC1mMzQ2YjM0Mi1mMDM0LTQ4MDctYWMyMi0wNGE4MmQ1YzY3YzIucG5nP1gtQW16LUFsZ29yaXRobT1BV1M0LUhNQUMtU0hBMjU2JlgtQW16LUNyZWRlbnRpYWw9QUtJQVZDT0RZTFNBNTNQUUs0WkElMkYyMDI0MDcwNiUyRnVzLWVhc3QtMSUyRnMzJTJGYXdzNF9yZXF1ZXN0JlgtQW16LURhdGU9MjAyNDA3MDZUMTQ0OTM3WiZYLUFtei1FeHBpcmVzPTMwMCZYLUFtei1TaWduYXR1cmU9OWRkMDhlNDVmOGE0YmMxOWJlYjZkMjdiZTc5MGY5YTc2MjkzOTg1YTMzMTE0ZWEyYjRkY2ExNzZhZTU3ZjIyMyZYLUFtei1TaWduZWRIZWFkZXJzPWhvc3QmYWN0b3JfaWQ9MCZrZXlfaWQ9MCZyZXBvX2lkPTAifQ.z0qyfe4n5Z-I1MxQyn2ZszjHYPoFg3neCUxTb5odNYc)
Suggested Checklist:
dev/reformat
(backend) andcd web && npx lint-staged
(frontend) to appease the lint godsoptional
I have made corresponding changes to the documentationoptional
I have added tests that prove my fix is effective or that my feature worksoptional
New and existing unit tests pass locally with my changes