Manages user related data as well as authentication and permissions. Connects to Keycloak and optionally AD or OpenLDAP
This project is using Poetry to handle the dependencies. Installtion instruction for poetry can be found at https://python-poetry.org/docs/#installation
-
Clone the project.
git clone https://github.com/PilotDataPlatform/auth.git
-
Install dependencies.
poetry install
-
Add environment variables into
.env
. Use.env.schema
as a reference. -
Run setup scripts for postgres
-
Run migration using alembic.
poetry run alembic upgrade head
-
Run SQL script to populate casbin permissions
-
Run application.
poetry run python run.py
This project can also be started using Docker.
-
To build and start the service within the Docker container, run:
docker compose up
-
Migrations should run automatically after the previous step. They can also be manually triggered:
docker compose run --rm alembic upgrade head
You can contribute the project in following ways:
- Report a bug.
- Suggest a feature.
- Open a pull request for fixing issues or adding functionality. Please consider using pre-commit in this case.