As far as I can think, there are two reasonable ways to reset a user\'s forgotten password.
Have the user enter their email address and a new plaintext pass
OWASP has a good checklist of https://www.owasp.org/index.php/Forgot_Password_Cheat_Sheet
Here is a quick summary of steps: