src.admin.security

Module Contents

src.admin.security.admin_auth_config_error() str | None

Validate required admin authentication configuration.

Parameters:

None.

Returns:

Error message if configuration is missing, otherwise None.

Return type:

str | None

src.admin.security.encrypt_token(token: str) str

Encrypt a token using the configured Fernet key.

Parameters:

token (str) – Plaintext token to encrypt.

Returns:

Encrypted token encoded as a UTF-8 string.

Return type:

str

src.admin.security.decrypt_token(token: str) str

Decrypt an encrypted token string.

Parameters:

token (str) – Encrypted token to decrypt.

Returns:

Decrypted token value.

Return type:

str

src.admin.security.validate_admin_credentials(username: str, password: str) str

Validate administrator credentials against configured values.

Args: username (str): Admin username; password (str): Admin password. Returns: str: The validated admin username.

src.admin.security.create_admin_session(username: str) str

Create a signed admin session token for a username.

Parameters:

username (str) – Username to include in the session payload.

Returns:

URL-safe signed session token.

Return type:

str

src.admin.security.read_admin_session(session_value: str | None) str | None

Validate and read a signed admin session token.

Parameters:

session_value (str | None) – Encoded session payload and signature.

Returns:

Admin username if valid and unexpired, otherwise None.

Return type:

str | None

src.admin.security.set_admin_session(response: fastapi.Response, username: str) None

Set the admin session cookie on the response.

Parameters:
  • response (Response) – HTTP response to update; username (str): Admin username for the

  • session.

Returns:

This function does not return a value.

Return type:

None

src.admin.security.clear_admin_session(response: fastapi.Response) None

Clear the admin session cookie from the response.

Parameters:

response (Response) – HTTP response whose admin session cookie is deleted.

Returns:

This function does not return a value.

Return type:

None

src.admin.security.require_admin(request: fastapi.Request) str

Validate the admin session and return the authenticated username.

Parameters:

request (Request) – Incoming request containing admin session cookies.

Returns:

Authenticated admin username.

Return type:

str

src.admin.security.ensure_csrf_token(request: fastapi.Request, response: fastapi.Response, csrf_token: str | None = None) str

Ensure a CSRF token exists and set it as a response cookie.

Parameters:
  • request (Request) – Incoming request used to retrieve or create the token.

  • response (Response) – Response on which to set the CSRF cookie.

  • csrf_token (str | None) – Optional token to use instead of generating one.

Returns:

The CSRF token set on the response.

Return type:

str

src.admin.security.get_or_create_csrf_token(request: fastapi.Request) str

Get an existing CSRF token from cookies or generate a new one. :param request: Incoming request containing cookie data. :type request: Request

Returns:

Existing admin CSRF token or a newly generated token.

Return type:

str

async src.admin.security.verify_csrf(request: fastapi.Request, csrf_token: str = Form(default='')) None