Closed
Description
Overview:
Integrate ASP.NET Identity into Endatix to enhance user authentication, adding user registration, sign-out, and default user seeding functionalities.
Scope:
- Modify the sign-in functionality to use ASP.NET Identity
- Implement user registration and sign-out endpoints
- Seed a default user upon DB initialization
- Complex user role management
out-of-scope
- UI changes related to authentication
out-of-scope
Acceptance Criteria:
- Users can authenticate using ASP.NET Identity.
- User registration endpoint is accessible and functional.
- Sign-out endpoint securely logs out the user.
- A default user is seeded during the first-time database setup.
- Email validation is triggered during user registration.
- JWT Token is used for authentication instead of Bearer Token.
- Permission-based authorization is implemented.
Proposed Solution:
Note
🦺 🚧 ⛑️
Feature branch for integrating work on the feature is feature/46-integrate-identity
- Spike to Integrate ASP.NET Identity #59
- Implement permission based authorization #97
- Add support for JWT Token instead of Bearer token
- Add signout endpoint #106
- Change identity ID type to
long
#107 - Domain events: Implement and raise identity events - login, register, signout #113
- Add support for refresh token #114
- Ensure a default user is created during DB seeding #172
- Ensure registration flow doesn't create high privileges users by default #174
- Add support for user email validation workflow #173
- Update documentation with Authentication Related Changes #115
- Ensure Docker setup works and reflects new settings #112
Deliverables:
- Updated codebase integrating ASP.NET Identity.
- Functional user registration and sign-out endpoints.
- Documentation on new endpoints and user authentication workflow.
- Test results validating the integration.
Risks/Challenges:
- Potential issues with database migration on live systems.
- Security concerns regarding new registration and sign-out endpoints.
Resources
- ASP.NET Identity Documentation
- Entity Framework Core Documentation
- Existing project documentation and codebase
- Integrate Fastendpoints with the .net 8 Identity module FastEndpoints/FastEndpoints#706