Install
Clone the repo and make sure to also fetch the submodules.
git submodule update --init
Installation should be done via the helm using the helmchart contained in ./helmchart
.
Make sure to edit the values in ./helmchart/values.yaml
according to your needs
Using SSO
To use OpenID Connect or oAuth you need to set up an oAuth Client for every application that
needs to authenticate it's users. You can leverage the Hydra Admin API to create oAuth clients.
As a starting point, you can have a look at the script provided in test/
.
To use SSO, configure your oAuth client (for example nextcloud) and create a new oAuth client object.
After your server is running, refer to https://sso.<YOUR.DOMAIN>/.well-known/openid-configuration
as a reference on how to configure your openID Connect or oAuth client.
Testing
In order to run tests locally, you can start the environment via docker-compose
.
Install docker-compose via pip install docker-compose
after you insalled
docker on your machine.
Running docker-compose up --build
after that builds and starts all containers.
The default configuration works if you are running the setup on your local
machine. You need to change the following values in the docker-compose.yml file in case
you run the containers on a remote machine:
environment:
- URLS_SELF_ISSUER=http://YOUR_SERVER_FQDN:4444/
- URLS_CONSENT=http://YOUR_SERVER_FQDN:5001/
- URLS_LOGIN=http://YOUR_SERVER_FQDN:5000/
- URLS_LOGOUT=http://YOUR_SERVER_FQDN:5000/logout
- URLS_POST_LOGOUT_REDIRECT=http://YOUR_SERVER_FQDN:5000/
Notice that you need to create users and applications before being able to login.
You can use the scripts located in user-panel/utils
to create users for testing.
If you don't have a test application yourself, you can use the small OpeinID Connect
test application located at test/login_logout/
. Instructions on how to run the test
application can be found in test/login_logout/README.md
.
Also refer to .gitlab-ci.yml
to get an idea on how to run all of the tests that are
contained in this repository.