The auth-gateway project is a robust authentication and authorization system designed to provide secure access control for various applications and services. It serves as a single entry point for managing user identities, handling authentication requests, and enforcing authorization policies.
- Multi-factor Authentication: Supports multiple authentication methods, including username/password, OAuth, OpenID Connect, and two-factor authentication.
- Role-Based Access Control: Enforces fine-grained access control based on user roles and permissions.
- Session Management: Handles user session creation, validation, and termination.
- Audit Logging: Provides detailed logs of all authentication and authorization events.
- Integration with External Services: Supports integration with external services, such as LDAP, Active Directory, and databases.
- Programming Language: Java 11
- Framework: Spring Boot 2.5
- Database: PostgreSQL 13
- Authentication Library: Spring Security 5.5
- Logging Library: Log4j 2.14
- Java 11 or later
- Maven 3.6 or later
- PostgreSQL 13 or later
- Docker (optional)
- Clone the repository:
git clone https://github.com/example/auth-gateway.git - Build the project using Maven:
mvn clean package - Create a PostgreSQL database and configure the database connection properties in the
application.propertiesfile.
- Run the project using Maven:
mvn spring-boot:run - Alternatively, build a Docker image and run the container:
mvn package docker:buildanddocker run -p 8080:8080 auth-gateway
The auth-gateway project uses a application.properties file to configure database connection properties, authentication settings, and other parameters. Refer to the configuration guide for more information.
The auth-gateway project welcomes contributions from the community. Refer to the contributing guide for more information on how to get started.
The auth-gateway project is licensed under the Apache License 2.0. See the license file for more information.