Test Setup on Red Hat OpenShift
Setup a Test Environment
Register an account and download from Red Hat OpenShift Portal
As on 13-November-2023 you can also use the developer sandbox, since all components are not directly needed to run (example: Kafka / AMQ operator is not available on Sandbox)
Download latest container releases at:
Please follow below steps in order
Login to your cluster
If running on your local machine then you can also (Setup a new project dedicated for Co-Auth) below
Postgres Setup
This is where your persistent data resides
Login to OpenShift console and navigate to developer -> +Add->Database->postgres (persistent)
Configure as below
Creating the database
Once started head over to terminal in the pod and execute the following
Copy the script from https://github.com/coauth/coauth-core/blob/main/scripts/init.sql and paste to execute in this terminal
This activity will create the necessary database structure, along with a dummy test application "Co-Auth Test app" and a corresponding key 11111111-1111-1111-1111-111111111111
Your database is now setup
Data-Grid / Infinispan Setup
This component is used to reduce load on the database calls. With Infinispan you have in-memory data across your pods as they scale up and down with request traffic.
For data grid setup follow OpenShift documentation
For manual setup from web console follow below steps
Login to OpenShift web console
Go to developer -> +Add -> Container Images
OR for running using OC CLI
Your Infinispan Setup is now complete
Kafka / OpenShift AMQ
In current development stage not needed
Mock Co-Auth Management UI
This microservice demonstrates an example features and configuration that would be available Co-Auth ecosystem.
API Gateway
Responsible for routing of all requests. Injecting App details into request body retrieved from the auth guard microservice
Now expose your API gateway, so that you have a URL to access
Auth Guard
Responsible for validating the register and verify endpoints with API-KEY for requests that include generate and status
Module Registry
This microservice hold the meta data if the user is registered for a module against a registered application
Module TOTP
Microservice responsible to store, verify secrets related to TOTP
Modify the Kafka values below
Module Reconfirm
Microservice to verify the text re-entered by user
Modify the Kafka values below
Web Plugin
Responsible for UI of the embeded IFrame which example app will call
Example App
A sample application developed in Quarkus and Vuejs to demonstrate how to integrate Co-Auth with third party applications
For demonstration purpose, the example app resides behind api gateway. However, in real world scenarios the example app would reside outside with the example app configuring the URLs of Co-Auth
Installation
Demo
Now from web console, navigate to the route URL provided at API gateway
Example application
https://coauth-core-api-gateway-XXXXXXX-dev.apps.sandbox-XXXXX.XXXXX.openshiftapps.com/example/
You shall see a registration page, followed by TOTP which can be scanned with any authenticator mobile app.
Later a transfer page to revalidate the TOTP
Also, a delete payee to test reconfirm module
Example Mock Administration UI
You can access the mock UI of how one can expect the administration panel will be available at
https://coauth-management-ui-XXXXXXX-dev.apps.sandbox-XXXXX.XXXXX.openshiftapps.com/
Last updated