Go to file
2022-11-02 10:52:42 +11:00
frontpage routes/home: handle missing groups 2022-09-03 15:29:54 +10:00
nixos flake: add nixosModule 2022-11-02 10:52:42 +11:00
.gitignore chore: initial commit 2022-09-03 14:49:04 +10:00
flake.lock chore: initial commit 2022-09-03 14:49:04 +10:00
flake.nix flake: add nixosModule 2022-11-02 10:52:42 +11:00
poetry.lock app: add waitress 2022-09-03 14:49:13 +10:00
pyproject.toml app: add waitress 2022-09-03 14:49:13 +10:00
README.md docs: add readme 2022-09-03 15:29:54 +10:00

frontpage (name pending)

The front page of your self-hosted server.

This app fits the use case of having multiple applications with access gated by an OIDC provider, and showing a user what applications they have access to.

Usage

frontpage -c CONFIG.TOML

where a minimal config file looks like:

[oidc]
client_id = "some_id"
client_secret = "some_secret"
issuer = "https://auth.example.com/oauth"
scopes = [ "groups" ]

Applications are defined using the apps keys:

[apps.login]
name = "Login portal"
url = "https://auth.example.com"
description = "Update your user details"
groups = [ "users" ]

In this example, only users whose OIDC groups claim includes users will be allowed to see a link to the login portal. Protection of the link, should a user gain access to it otherwise, is expected to be done externall (e.g., via an ingress controller).