This is an authentication microservice offering advanced, multi-tenant authentication capabilities, built with Express and TypeScript.
- Framework: Express
- ORM: TypeORM
- User Management: PostgreSQL
- Authentication: JWT
- Validation: Express Validator
- Tests: Jest
- Containerization: Docker
- Code Analysis: SonarCloud
- CI/CD: GitHub Actions
- Persist User: Store user data in a database using TypeORM.
- Authentication: Implement token-based authentication using JSON Web Tokens.
- Access and Refresh Tokens: Implement a system for issuing and refreshing access tokens.
- Validation: Use Express Validator to validate user input.
- Tests: Write unit and integration tests using Jest.
- Docker: Containerize the service using Docker for easy deployment and scaling.
- Middleware: Implement custom middleware for handling requests and responses.
- Refresh Token Rotation: Implement a secure refresh token rotation strategy to enhance security.
- Multi-Tenancy: Support for multi-tenancy to allow the service to be used by multiple clients.
- GitHub Actions: Set up CI/CD pipelines using GitHub Actions.
- Code Analysis: Use tools like ESLint and Prettier for code formatting and analysis.
To clone and run this application, you'll need Git and Node.js (which comes with npm) installed on your computer. From your command line:
$ git clone https://github.com/yourusername/your-repo-name.git
$ cd your-repo-name
$ npm install
$ npm start
Contributions are welcome! Please read the contributing guidelines before getting started.
This project is licensed under the terms of the MIT license.