import secrets from pydantic import Field from pydantic_settings import BaseSettings class OpenIdConfig(BaseSettings): client_id: str = "" client_secret: str = "" configuration_endpoint: str = "" enabled: bool = False name: str = "OAuth2" class AuthConfig(BaseSettings): # to get a signing key run: # openssl rand -hex 32 token_secret: str = Field(default_factory=secrets.token_hex) session_lifetime: int = 60 * 60 * 24 admin_emails: list[str] = [] email_password_resets: bool = False openid_connect: OpenIdConfig = OpenIdConfig()