Installation

Install Kernia and create the first Python auth server.

Install

uv add kernia kernia-fastapi

Add an adapter package for your database, for example:

uv add kernia-sqlalchemy

Configure

import os

from kernia import KerniaOptions
from kernia.auth import init

auth = init(KerniaOptions(
    database=adapter,
    secret=os.environ["KERNIA_SECRET"],
    base_url=os.environ["KERNIA_BASE_URL"],
    base_path="/api/auth",
))

Mount

from fastapi import FastAPI
from kernia_fastapi import mount_kernia

app = FastAPI()
mount_kernia(app, auth)

Generate a secret

KERNIA_SECRET=<generate at least 32 random bytes>

Verify

Call /api/auth/ok, then enable a sign-in method and test through a browser with cookies enabled.