A hobby project focused on building a flexible authentication and authorization platform for web and mobile applications. This repository includes modules for user login, registration, session management, and integration with external identity providers (OAuth2, OpenID Connect, etc.). The main goal is to experiment with security solutions and learn about modern authentication standards.
- REST API endpoints for user registration and login
- Multi-factor authentication (MFA) support for improved security
- Integration with popular external identity providers (OAuth2)
- Session and JWT token management
- Codebase structured for easy modifications and extensions
- auth-platform-api — Backend REST API (this repository)
- auth-platform-client — Client-side web application (see auth-platform-client)
- Docker
- Copy
.env.docker.examplefile and rename copy to.env.docker - (Optional) Fill
.env.dockerwith valid secrets (only required for OAuth-related features). - Run the following command
docker-compose -f docker-compose.dev.yml up appOr if you have Node.js installed:
npm run quick-start- Open http://localhost/api-docs in your browser
- Secrets
dotnet user-secrets set "OAuth:GithubClientId" "<your-client-id>"
dotnet user-secrets set "OAuth:GithubSecret" "<your-secret>"Work in progress
Run app
npm run startRun app in watch mode
npm run watchRun all services (db, redis, smtp, etc.)
npm run servicesCreate migration
npm run migration:create -- migration_nameApply migration
npm run migration:pushCheck code style
npm run styleCheck formatting
npm run style:csharpier