Skip to content

pywry.auth.deploy_routes

FastAPI routes for OAuth2 authentication in deploy mode.


create_auth_router

pywry.auth.deploy_routes.create_auth_router

create_auth_router(provider: OAuthProvider, session_store: SessionStore, token_store: TokenStore, deploy_settings: DeploySettings, auth_config: AuthConfig, use_pkce: bool = True) -> APIRouter

Create a FastAPI router with OAuth2 authentication routes.

PARAMETER DESCRIPTION
provider

The configured OAuth2 provider.

TYPE: OAuthProvider

session_store

Session store for creating/managing sessions.

TYPE: SessionStore

token_store

Token store for persisting OAuth2 tokens.

TYPE: TokenStore

deploy_settings

Deploy configuration (cookie name, default roles, etc.).

TYPE: DeploySettings

auth_config

Auth configuration (secret, session TTL, etc.).

TYPE: AuthConfig

use_pkce

Whether to use PKCE (default True).

TYPE: bool DEFAULT: True

RETURNS DESCRIPTION
APIRouter

Router with /auth/* routes.


cleanup_expired_states

pywry.auth.deploy_routes.cleanup_expired_states

cleanup_expired_states(max_age: float = 600.0) -> int

Remove expired pending auth states (synchronous wrapper).

PARAMETER DESCRIPTION
max_age

Maximum age in seconds before a state is considered expired.

TYPE: float DEFAULT: 600.0

RETURNS DESCRIPTION
int

Number of expired states removed.