This repository contains a sample ASP.NET Core Web API project that demonstrates the implementation of a Forgot Password functionality. This functionality is crucial for web applications that require users to reset their passwords in case they forget them.
- Forgot Password Endpoint: Exposes an endpoint to initiate the password reset process by sending a reset link to the user's registered email address.
- Reset Password Endpoint: Allows users to reset their passwords by verifying their identity through a secure token sent to their email.
- Token Generation: Utilizes secure token generation to ensure the reset password process is secure and resistant to attacks.
- Email Integration: Integrates with an SMTP server to send password reset emails to users.
- Secure Practices: Implements industry-standard security practices to protect user data and prevent unauthorized access.
ASP.NET Core: The primary framework for building web applications and APIs.
C#: The programming language used for backend logic and API.
SMTP: Simple Mail Transfer Protocol for sending emails.
JWT (JSON Web Tokens): Used for secure token generation and authentication.
Swagger UI: A tool to document and test APIs.
PostgreSQL: A lightweight, file-based database used for local development and testing.
To get started with this project, follow these steps:
- Clone the Repository: Use git clone to clone this repository to your local machine.
- Configure the necessary settings such as SMTP server details, email templates, and database connection string.Build and run the application.
- Navigate to the Project Directory: cd into the directory containing the cloned repository.
- Build and Run the Project: Use dotnet build to build the project, followed by dotnet run to start the development server.
- Explore the API: Once the project is running, navigate to https://localhost:5001/swagger/index.html to explore and interact with the API using Swagger UI.
- Test the Forgot Password and Reset Password endpoints using tools like Postman or through your application's frontend.
Clone the project
git clone https://github.com/imdesai00/Forgot-password-functionality.git