"""Community Keycloak SSO user management.""" from fastapi import FastAPI, Request from fastapi.responses import HTMLResponse, RedirectResponse from fastapi.templating import Jinja2Templates from starlette.middleware.sessions import SessionMiddleware app = FastAPI() app.add_middleware(SessionMiddleware, secret_key="mysecretzkey") templates = Jinja2Templates(directory="templates") @app.get("/", response_class=HTMLResponse) async def home(request: Request): user = request.session.get("user") if user: return templates.TemplateResponse( "index.html", context={"request": request} ) return RedirectResponse("/login") @app.get("/login", response_class=HTMLResponse) async def login(request: Request): return templates.TemplateResponse( "login.html", context={"request": request} )