Authentication and Authorization Server for Microservices Architecture
This project is research work that focuses on enterprise-scale identity management for Microservices inspired by Google Applications Authentication Strategies
The solution is implemented with the Rust programming language a memory-safe systems programming language for building fast and secure applications. The application also integrates with the PostgreSQL database which is optimized for fast read and write database operations.
The following are required to run the application in development.
- Rust v1.63 or greater
- PostgreSQL PostgreSQL server v14.5 or greater
- sqlx for interacting with the database,
- sqlx-cli, a command line tool for sqlx,
- cargo watch, a tool for watching the project files and recompiling when they change,
To run the application in development mode, follow the steps below
- clone Repository
- copy and populate .env.example to .env
cp .env.example .env
, paying attention to theSECRET
andDATABASE_URL
variables - Run
sqlx database create
to create the database from the specifiedDATABASE_URL
UseSQL database drop
to revert the change - Run
SQL migrate run
to run the migrations - use
SQL migrate add <migration_name>
to add a new migration
See the project roadmap listed here
The application is subjected to Apache License 2.0