diff --git a/.env.sample b/.env.sample index 3f9f059..49d8a2f 100644 --- a/.env.sample +++ b/.env.sample @@ -8,3 +8,4 @@ KEYCLOAK_REALM=lumbung-space REDIS_DB=0 REDIS_HOST=localhost REDIS_PORT=6379 +AUTOMATICALLY_LOG_IN=False diff --git a/keycloak_collective_portal/config.py b/keycloak_collective_portal/config.py index 262e549..8d2113b 100644 --- a/keycloak_collective_portal/config.py +++ b/keycloak_collective_portal/config.py @@ -38,3 +38,6 @@ elif LOG_LEVEL == "debug": APP_LOG_LEVEL = logging.DEBUG else: APP_LOG_LEVEL = logging.INFO + +# Automatically log folks in or show the default log in page? +AUTOMATICALLY_LOG_IN = environ.get("AUTOMATICALLY_LOG_IN", False) diff --git a/keycloak_collective_portal/routes/oidc.py b/keycloak_collective_portal/routes/oidc.py index 952ce07..71317e1 100644 --- a/keycloak_collective_portal/routes/oidc.py +++ b/keycloak_collective_portal/routes/oidc.py @@ -11,6 +11,11 @@ router = APIRouter() @router.get("/login") async def login(request: Request): + from keycloak_collective_portal.config import AUTOMATICALLY_LOG_IN + + if AUTOMATICALLY_LOG_IN: + return RedirectResponse(request.url_for("login_keycloak")) + return request.app.state.templates.TemplateResponse( "login.html", context={"request": request} )