uotp/README.md

1.4 KiB

uotp

uotp is a full blown authentication and authorisation service made for micro services. The basic idea is that every micro service has a (long term) triple constisting of (name, realm, seed) and creates time based tokens. This basically revamps Kerberos in a simple way into the web area. uotp has been created and is maintained by ungleich.

Technologies Used

  • Flask
  • PyOTP
  • Etcd

Installation

Alpine

# Update and Upgrade 
cat > /etc/apk/repositories << EOF
https://mirror.ungleich.ch/mirror/packages/alpine/edge/main
https://mirror.ungleich.ch/mirror/packages/alpine/edge/community
https://mirror.ungleich.ch/mirror/packages/alpine/edge/testing
EOF
apk update
apk upgrade

# Install Dependencies
apk add python3 git etcd etcd-ctl py3-grpcio
pip3 install pipenv

# Start etcd
# etcd don't start using `service etcd start` as its package have some issue
start-stop-daemon -b etcd

# Clone Repo
git clone https://code.ungleich.ch/ungleich-public/uotp.git
cd uotp

pipenv --three --site-packages
pipenv install 
cp .env.sample .env
pipenv run python app.py

Arch

# Install Dependencies
pacman -S python3 git
pamac build etcd
pip3 install pipenv

# Start etcd
systemctl start etcd

# Clone Repo
git clone https://code.ungleich.ch/ungleich-public/uotp.git
cd uotp

pipenv --three
pipenv install 
cp .env.sample .env
pipenv run python app.py

By default, it would run at port 8000.