Skip to content

Latest commit

 

History

History
47 lines (38 loc) · 2.39 KB

File metadata and controls

47 lines (38 loc) · 2.39 KB

auth-gateway

Description

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.

Features

  • 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.

Technologies Used

  • Programming Language: Java 11
  • Framework: Spring Boot 2.5
  • Database: PostgreSQL 13
  • Authentication Library: Spring Security 5.5
  • Logging Library: Log4j 2.14

Installation

Prerequisites

  • Java 11 or later
  • Maven 3.6 or later
  • PostgreSQL 13 or later
  • Docker (optional)

Building the Project

  1. Clone the repository: git clone https://github.com/example/auth-gateway.git
  2. Build the project using Maven: mvn clean package
  3. Create a PostgreSQL database and configure the database connection properties in the application.properties file.

Running the Project

  1. Run the project using Maven: mvn spring-boot:run
  2. Alternatively, build a Docker image and run the container: mvn package docker:build and docker run -p 8080:8080 auth-gateway

Configuration

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.

Documentation

Contributing

The auth-gateway project welcomes contributions from the community. Refer to the contributing guide for more information on how to get started.

License

The auth-gateway project is licensed under the Apache License 2.0. See the license file for more information.