Skip to content

A hobby project focused on building a flexible authentication and authorization platform for web and mobile applications.

Notifications You must be signed in to change notification settings

Aadameqq/auth-platform-api

Repository files navigation

Auth Platform

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.

What’s included?

  • 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

Repository structure

  • auth-platform-api — Backend REST API (this repository)
  • auth-platform-client — Client-side web application (see auth-platform-client)

Quick Start

Prerequisites

  • Docker

Steps

  1. Copy .env.docker.example file and rename copy to .env.docker
  2. (Optional) Fill .env.docker with valid secrets (only required for OAuth-related features).
  3. Run the following command
docker-compose -f docker-compose.dev.yml up app

Or if you have Node.js installed:

npm run quick-start
  1. Open http://localhost/api-docs in your browser

Development

Setup

  1. Secrets
dotnet user-secrets set "OAuth:GithubClientId" "<your-client-id>"
dotnet user-secrets set "OAuth:GithubSecret" "<your-secret>"

Work in progress

Running app

Run app

npm run start

Run app in watch mode

npm run watch

Other Services

Run all services (db, redis, smtp, etc.)

npm run services

Database

Create migration

npm run migration:create -- migration_name

Apply migration

npm run migration:push

Linting

Check code style

npm run style

Check formatting

npm run style:csharpier

About

A hobby project focused on building a flexible authentication and authorization platform for web and mobile applications.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages