Skip to content

amaurybrisou/gateway

Repository files navigation

Gateway Application

The Gateway Application is a service that acts as a central gateway for accessing various backend services and managing user authentication and authorization. It provides the following features:

Features

  • Authentication: The application allows users to authenticate using OAuth providers. Users can log in with their credentials from supported providers, granting them access to protected resources.
  • Authorization: The application supports role-based access control (RBAC) to manage user permissions and access levels. Users can be assigned different roles, determining their authorized actions within the system.
  • Service Management: The application allows administrators to manage services that are accessible through the gateway. Services can be added, modified, or removed, specifying their respective prefixes, required roles, and other configurations.
  • User Role Management: Administrators can assign roles to users based on their access requirements. Roles define the set of permissions and actions available to users within the system.
  • Payment Integration: The application integrates with a payment system to handle user payments for accessing specific services. Users can make payments for service subscriptions, and their access is granted based on their payment status.

Setup and Configuration

To set up the Gateway Application, follow these steps:

  1. Install the required dependencies and libraries mentioned in the installation guide.
  2. Configure the application by updating the necessary configuration files, such as database connection settings, OAuth provider credentials, and payment system integration details.
  3. Run the database migration scripts to create the required database schema and tables.
  4. Start the application server, ensuring that it is accessible via the specified host and port.

Usage

Once the Gateway Application is up and running, you can access it through the defined endpoints and perform the following actions:

  • Log in with OAuth providers: Use the provided authentication endpoints to initiate the OAuth login flow with supported providers.
  • Manage services: Use the service management endpoints to add, modify, or remove services accessible through the gateway. Configure service prefixes, required roles, and other settings.
  • Manage user roles: Administrators can assign or revoke roles for users, controlling their access permissions within the system.
  • Process payments: Integrate with the payment system to handle user payments for service subscriptions. Update payment statuses and grant access based on the payment status.

Contributing

Contributions to the Gateway Application are welcome! If you find any bugs, have suggestions for new features, or would like to contribute improvements or fixes, please submit a pull request. Be sure to follow the project's guidelines for contributing.

License

The Gateway Application is released under the MIT License.

Payment succeeds 4242 4242 4242 4242 Payment requires authentication 4000 0025 0000 3155 Payment is declined 4000 0000 0000 9995

Workflow

  • Pay
  • Create User - enable service paid role
  • send email with:
    • default password
    • discord link