The auth-gateway project is a robust authentication and authorization system designed to provide secure access control for various applications and services. It acts as a central gateway, managing user identities, permissions, and authentication workflows to ensure seamless and secure interactions between users and protected resources.
- Multi-Factor Authentication: Supports various authentication methods, including passwords, biometrics, and one-time passwords.
- Role-Based Access Control: Assigns users to roles with specific permissions, enabling fine-grained access control to protected resources.
- Single Sign-On (SSO): Enables users to access multiple applications with a single set of credentials, reducing the need for multiple logins.
- Session Management: Handles user sessions, including creation, renewal, and revocation, to ensure secure and efficient access to protected resources.
- Auditing and Logging: Provides detailed logs and auditing capabilities to track user activities and system events.
- Programming Language: Java 11
- Framework: Spring Boot 2.5
- Database: PostgreSQL 13
- Authentication Protocol: OAuth 2.0
- Encryption: SSL/TLS with AES-256
- Java 11 or later
- Maven 3.6 or later
- PostgreSQL 13 or later
- Docker (optional)
- Clone the repository:
git clone https://github.com/your-username/auth-gateway.git - Navigate to the project directory:
cd auth-gateway - Build the project using Maven:
mvn clean package
- Run the application using Maven:
mvn spring-boot:run - Alternatively, run the application using Docker:
docker run -p 8080:8080 your-username/auth-gateway
- Database Configuration: Update the
application.propertiesfile with your PostgreSQL database credentials. - Authentication Configuration: Update the
auth.propertiesfile with your authentication settings, including OAuth 2.0 client IDs and secrets.
Contributions to the auth-gateway project are welcome. Please submit pull requests with detailed descriptions of changes and follow the project's coding standards.
The auth-gateway project is licensed under the Apache License 2.0. See the LICENSE file for details.