Fast API Backend for Email/Password Authentication

Job ID: 38145206

Budget: $30 – $250 CAD

Create a secure Fastapi framework(python) backend which connects to a MySQL database(provided) packaged in a docker container. Create with standard API best practice/REST in mind. This task is to focus on the authentication and authorization part

• Provide Authentication capabilities from existing database of username/email and password. Password is hashed in database. No MFA required.
• Forget password / reset password functionality, send passcode to email to validate when forget password to ensure correct email.
• Endpoint to create, update, and delete user
• Authorization will be based on access token/refresh token provided to user after login and saved in local storage with encryption and decrypted by the app using secret only app knows.
• Access token should contain scope of what user can do like admin, user, and cnc.
• Access token and refresh token expiry is configurable. Refresh Token is used to retrieve a new access token.
• All endpoints except for public ones will require access token to be authorized. Provide example endpoints that check authentication and authorization working as expected and a public one that is not checked
• All returned output will be in standard JSON output with appropriate status code

Ideal Skills:
- Proficiency in Fast API
- Experience in designing and implementing secure authentication systems
- Knowledge of best practices for using access tokens and refresh tokens
- Good understanding of backend development in general

Please include relevant experience and examples of similar projects in your bid.
Related categories: Python Web Security MySQL Docker Compose FastAPI