Skip to main content
The core integration points here are as follows:
  • Direct users to the Civic Auth login page
  • Set up an endpoint that the auth server should redirect to once complete
  • Set up middleware to ensure only logged-in users can access protected parts of your app.
Use these guides to set up Civic Auth with any of the most common Python web frameworks.
fastapi

FastAPI

flask

Flask

django

Django

Installation

Install the Civic Auth Python SDK using pip:
For framework-specific integrations:
If you’re using the uv package manager:

Usage

The Civic Auth Python SDK provides a flexible API that works with any Python web framework. For framework-specific integrations, see the guides above.

Getting User Information on the Backend

Here are some examples of using the get_user function in popular Python server environments. Note - this snippet assumes you have followed the steps to integrate login with your app as described here.

Getting the Access Token

Use CivicAuth-managed storage to retrieve tokens. Prefer the SDK helper that exposes a CivicAuth instance and call await civic.get_tokens() (auto-refreshes when needed). If your endpoint receives a bearer token from a frontend, you can also read it from the Authorization header.
Need structured validation? See the Pydantic AI recipe: /civic/recipes/pydantic-ai.