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.

Installation

Install the Civic Auth Python SDK using pip:

pip install civic-auth

For framework-specific integrations:

pip install "civic-auth[fastapi]"

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.

from fastapi import Depends
from civic_auth.integrations.fastapi import create_auth_dependencies, create_auth_router

civic_auth_dep, get_current_user, require_auth = create_auth_dependencies(config)

@app.get("/admin/hello", dependencies=[Depends(require_auth)])
async def hello(user = Depends(get_current_user)):
    return f"hello {user.name}!"