Skip to content
Technical challenge: OAuth 2.0 server and client
Python Dockerfile
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
AuthService
ClientApp
ResourceServer
tests
README.md
docker-compose.yml

README.md

OAuth 2.0 Client and Server

Technical challenge: implement resource server, authorization service and client application, following an OAuth 2.0 Authorization Code grant type protocol.

An illustration example (source): OAuth 2.0 Architecture

Application is implemented as a three separate components:

  • ClientApp - runs on port 9000 and provide 2 endpoints: /current_time and /epoch_time
  • AuthService - runs on port 9001 and manages authorization tokens
  • ResourceServer - runs on port 9002 and contains protected time resources

In order to run the application, please execute the following command:

sudo docker-compose build && sudo docker-compose up

There are also implemented two example test suites:

  • tests/test_api.py - run by python3 -m unittest discover tests/ when all services are started
  • AuthService/tests/test_auth_service.py - run by cd AuthService/ && python3 -m unittest discover tests/; cd -
You can’t perform that action at this time.