Co-Auth: Documentation
WebsiteDocumentaionGithub
  • 🏠Welcome to Co-Auth Documentation
  • Getting Started
    • Co-Auth Modules & Release Status
      • Time Based OTP
      • Reconfirm
    • Architecture
      • Components Flow
      • Integration Overview
        • Integration with Co-Auth
      • Tech Stack
    • Requirements & Prerequisites
    • Installation
      • Setup as a Test / Dev environment
        • Test Setup on Red Hat OpenShift
        • Test Setup on Kubernetes
        • Cloud Provider
        • Development Setup
      • Setup on Production
  • using COAUTH
    • 🕐Key Concepts
  • API
    • 🕐Overview
    • 🕐API Documentation
  • Advanced Topics
    • Customization
      • Database
      • 🕐Caching
      • Good to Have
  • contribute to CoAuth
    • Contribute
    • Setup a Build Environment
  • Usecases
    • 🙂Articles
    • Implementation Use Case
      • 🕐2nd Factor for Authentication
      • 🕐Securing Internal Pages
      • 🕐Transaction verification
      • 🕐Safeguard from MTM, Keystroke attacks
      • 🕐QR are not just for Login
  • administration
    • 🕐Coming Soon
  • Group 1
    • Behind the Scenes
      • Sponsors
      • Adopters
      • Core Contributors
Powered by GitBook
On this page

Was this helpful?

  1. Getting Started
  2. Installation
  3. Setup as a Test / Dev environment

Development Setup

Steps to quickly setup dev environment

PreviousCloud ProviderNextSetup on Production

Last updated 1 year ago

Was this helpful?

Refer to for basic tools needed for a dev environment

Co-Auth heavily uses Quarkus devservices ♥ for development simplicity. The postgres database (not shared), Infinispan in-memory database and Kafka are created and shared with each other using test containers. Also, tables structures and dummy application are auto created with hibernate settings.

Co-Auth Core

git clone https://github.com/coauth/coauth-core.git

cd coauth-core

API Gateway (Port 8080)

cd core-api-gateway

export MODULE_REGISTRY_SERVICE='http://localhost:8082'
export AUTH_GUARD_SERVICE='http://localhost:8081/core/auth-guard'
export MODULE_TOTP_SERVICE='http://localhost:8083'
export MODULE_RECONFIRM_SERVICE='http://localhost:8085'
export UI_PLUGIN_SERVICE='http://localhost:3000'
export EXAMPLE_APP_SERVICE='http://localhost:8084'

./mvnw spring-boot:run --define spring-boot.run.profiles=dev

Auth Guard (Port 8081)

cd core-auth-guard

export POSTGRESQL_USER='postgres'
export POSTGRESQL_PASSWORD='postgres'

./mvnw compile quarkus:dev

Module Registry (Port 8082)

cd core-module-registry

export POSTGRESQL_USER='postgres'
export POSTGRESQL_PASSWORD='postgres'
export INFINISPAN_USER='admin'
export INFINISPAN_PASSWORD='password'

./mvnw compile quarkus:dev

Module TOTP (Port 8083

cd coauth-module-totp

export POSTGRESQL_USER='postgres'
export POSTGRESQL_PASSWORD='postgres'
export INFINISPAN_USER='admin'
export INFINISPAN_PASSWORD='password'

./mvnw compile quarkus:dev

Module Reconfirm (Port 8085)

cd coauth-module-reconfirm

export POSTGRESQL_USER='postgres'
export POSTGRESQL_PASSWORD='postgres'
export INFINISPAN_USER='admin'
export INFINISPAN_PASSWORD='password'

./mvnw compile quarkus:dev

Web Plugin (Port 3000)

git clone https://github.com/coauth/coauth-plugin-web.git

cd coauth-plugin-web

npm install

npm run dev

Example Quarkus VueJS (Quarkus on Port 8084 and Vuejs on Port 3001)

git clone https://github.com/coauth/example-quarkus-vue.git

cd example-quarkus-vue

export COAUTH_GATEWAY_URL=http://localhost:8080

./mvnw compile quarkus:dev

cd src/main/webapp

npm install

npm run dev

Management UI (Port 8080)

git clone https://github.com/coauth/coauth-management.git

cd coauth-management/coauth-management-ui

npm install

npm run dev

pre-requisite