Implement a new end-point to request a password reset, given an email address.
The end-point stores two new fields into the user:
- Randomly generated code for email validation
- Expiration date of the randomly generated code
It also starts the password recovery workflow to send the actual email containing the randomly generated code and/or the link containing the code.