The Lambda function has a monolithic architecture where Forgot password and reset password HTTP endpoints are branched based on the Resource PATH and the HTTP method.
Case:
If a forgot password request is made by a same user multiple times, it should generate multiple different link
When a new reset password link is created for the user, the previous reset password link created will be invalid and only one reset link can be valid at the given time.
A separate API is created to verify if the token is valid or invalid.
Used Amazon Aurora relational database service as it pay per use.