overleaf/services/web/app/src/Features/Security
June Kelly 3288f87dbe [web] Password set/reset: reject current password (redux) (#8956)
* [web] set-password: reject same as current password

* [web] Add 'peek' operation on tokens

This allows us to improve the UX of the reset-password form,
by not invalidating the token in the case where the new
password will be rejected by validation logic.

We give up to three attempts before invalidating the token.

* [web] Add hide-on-error feature to async forms

This allows us to hide the form elements when certain
named error conditions occur.

* [web] reset-password: handle same-password rejection

We also change the implementation to use the new
peekValueFromToken API, and to expire the token explicitely
after it has been used to set the new password.

* [web] Validate OneTimeToken when loading password reset form

* [web] Rate limit GET: /user/password/set

Now that we are peeking at OneTimeToken when accessing this page,
we add rate to the GET request, matching that of the POST request.

* [web] Tidy up pug layout and mongo query for token peeking

Co-authored-by: Mathias Jakobsen <mathias.jakobsen@overleaf.com>
GitOrigin-RevId: 835205cc7c7ebe1209ee8e5b693efeb939a3056a
2022-09-28 08:06:54 +00:00
..
LoginRateLimiter.js Merge pull request #3942 from overleaf/prettier-trailing-comma 2021-04-28 02:10:01 +00:00
OneTimeTokenHandler.js [web] Password set/reset: reject current password (redux) (#8956) 2022-09-28 08:06:54 +00:00
RateLimiterMiddleware.js Merge pull request #7294 from overleaf/jpa-ratelimit-2fa-check 2022-04-05 12:18:01 +00:00