This project exposes a REST API for authentication. It is created on Django, djangorestframework and 0auth2. By default, the supported database is PostgreSQL, you can however switch to a database of your choice by tweaking the database section in the production settings file.
To run the application; clone the repository, create a .env
file in the project root directory add the
following environment variables.
PROD_DB_NAME={database name}
PROD_DB_USER={database user}
PROD_DB_PASSWORD={database password}
PROD_DB_HOST={database host}
PROD_DB_PORT={database port}
Regards the database, my assumption is that your database has a public schema.
Install the project requirements pip install -r requirement.txt
Apply the database migrations to your database python manage.py migrate
You can now run the django server python manage.py runserver 0.0.0.0:8000
The REST API Endpoints can be accessed from:
0.0.0.0:8000/auth/create-account
To create a user
0.0.0.0:8000/auth/login
For login
0.0.0.0:8000/auth/refresh-token
To refresh access tokens
0.0.0.0:8000/auth/logout
Invalidate access tokens
0.0.0.0:8000/auth/change-password
Change password for a user
0.0.0.0:8000/auth/profile
Get a user's profile. Method POST
0.0.0.0:8000/auth/profile
Update a User's profile. Method PUT.