Skip to content
This repository has been archived by the owner on Sep 17, 2021. It is now read-only.

iredium-technologies/tanhua

Repository files navigation

API Gateway and Auth Server

Description

API Gateway with a built-in Auth Server

Features

  • Rate Limit
  • Cache (WIP)
  • Monitoring (WIP)
  • Applications Dashboard
  • Yaml Config File

Development Guide

Installing Tanhua

Setup Git

  1. Register to Github.com.

  2. Install Git

    sudo apt-get install git
  3. Configure Git

    git config --global user.name "Your Name Here"
    git config --global user.email "your-github-email@example.com"
  4. Generate Public Key

    ssh-keygen # then, just press enter
  5. Add key to Github

    cat ~/.ssh/id_rsa.pub # copy the content to github

Setup Hosts

Add the following lines to /etc/hosts:

127.0.0.1 iredium.local
127.0.0.1 www.iredium.local
127.0.0.1 accounts.iredium.local
127.0.0.1 api.iredium.local

Setup Tanhua Services

  1. Clone Tanhua

    git clone git@github.com:iredium-technologies/tanhua.git
    cd tanhua
  2. Install Dependencies

    yarn
  3. Copy env file

    cp env-sample .env

    Then make any changes if required.

  4. Copy config file

    cp apis.yml-sample apis.yml
    
  5. Create API Client

Build & Run Tanhua Services

  1. Run

    yarn dev
  2. Access it at http://api.iredium.local:3039

Endpoints

  • GET /users/login: Login page

  • GET /users/register: Register page

  • GET /oauth/applications: Oauth2 applications dashboard

  • GET /oauth/authorize: Authorization Code flow code issuer

  • POST /oauth/token: Credential issuer