More Premium Hugo Themes Premium Nextjs Themes

Api Services Portal

API Services Portal provides a multi-tenant frontend integrating API Gateway and Authorization services from Kong CE and Keycloak.

Api Services Portal

API Services Portal provides a multi-tenant frontend integrating API Gateway and Authorization services from Kong CE and Keycloak.

Author Avatar Theme by bcgov
Github Stars Github Stars: 27
Last Commit Last Commit: Dec 19, 2025 -
First Commit Created: Dec 18, 2023 -
Api Services Portal screenshot

Overview

The API Services Portal is a frontend application that allows API Providers to manage the lifecycle of their APIs and allows Developers to discover and access these APIs. It works in conjunction with the Kong Community Edition Gateway and Keycloak IAM solution.

Features

  • Data Model: The application uses KeystoneJS lists to define the aggregated data model.
  • UI: The API Services Portal is built using the React framework and the Chakra UI component library.
  • Authentication: Support for OAuth2-Proxy allows for authenticating with an OAuth2 flow.
  • Authorization: The application implements a decision matrix and authorization rules engine to control access to data.
  • Namespace Switching: Users can switch between different namespaces and receive a new Requesting Party Token (RPT) with relevant permissions.

Installation

Manual

  1. Run npm install to install the necessary dependencies.
  2. Set up an Authentication proxy by following the instructions for starting the proxy locally.
  3. Run npm run dev to start the application on port 3000. The proxy should be running on port 4180.
  4. Access the API Services Portal application at localhost:4180.

Docker

  1. Create a .env file from the .env.local file located in the feeds directory.
  2. Remove the cypress section from the docker-compose file.
  3. Run the build steps.
    • docker-compose build
  4. Use the command docker-compose up to spin up a local development environment with all the necessary services.
  5. Access the application at http://oauth2proxy.localtest.me:4180.
  6. Use the credentials username: local and password: local or username: janis@idir and password: awsummer to log in.
  7. To remove all the hosted services, use the command docker-compose down.

Note: Wait until the Keycloak service starts up and is initialized with the master realm. The realm configuration is saved in ./keycloak/master-realm.json. The Docker setup also creates a realm user with the username local and admin privileges.

Summary

The API Services Portal is a frontend application that provides API Providers with the ability to manage their APIs and allows Developers to discover and access these APIs. It is built using React, KeystoneJS, and NextJS, and utilizes the Chakra UI component library. The application provides features such as authentication, authorization, and namespace switching. It can be installed manually or using Docker.