litestar-auth 7 is the human-authentication layer in the six-distribution AuthWeave workspace for
Python 3.12–3.14. Browser sessions and machine credentials stay on separate trust paths while
sharing typed, fail-closed AuthWeave decisions.
uv add litestar-auth
Six packages, one version
litestar-auth— Litestar registration, login, OAuth + PKCE, TOTP, roles, organizations, and opaque database or Redis sessions.uv add litestar-authauthweave-core— Typed principals, evidence, decisions, route policies, and fail-closed provider coordination.uv add authweave-coreauthweave-workload— X.509 lifecycle plus mTLS, DPoP, SPIFFE, bound JWT, and introspection profiles.uv add 'authweave-workload[all]'authweave-otel— API-only security spans and metrics without an SDK or exporter.uv add authweave-otelauthweave-webhooks— Ed25519 Standard Webhooks integrity, replay control, and bounded delivery.uv add 'authweave-webhooks[redis,httpx]'authweave-http-signatures— RFC 9530/RFC 9421 payment-message integrity after machine authentication.uv add authweave-http-signatures
Install only the layer you need; optional integrations stay lazy. All six distributions use one exact lockstep version, and the dependency direction stays one-way:
authweave-core
├── litestar-auth
├── authweave-workload
│ └── authweave-workload[litestar] → litestar-auth Extension SDK v2
├── authweave-otel
├── authweave-webhooks
└── authweave-http-signatures
Start with a secure human session
uv add litestar-auth aiosqlite
from litestar import Litestar
from litestar_auth import DatabaseTokenAuthConfig, LitestarAuth, LitestarAuthConfig
config = LitestarAuthConfig(
database_token_auth=DatabaseTokenAuthConfig(
token_hash_secret=session_digest_secret,
),
csrf_secret=csrf_secret,
session_maker=session_maker,
user_model=User,
user_manager_class=UserManager,
user_db_factory=user_db_factory,
user_manager_security=user_manager_security,
)
app = Litestar(plugins=[LitestarAuth(config)])
The quickstart covers schema requirements and links the runnable
registration/login flow. Use RedisTokenStrategy with litestar-auth[redis] when sessions belong
in Redis. Both implementations issue opaque server-side access tokens. With
LitestarAuthConfig.enable_refresh=True, they also rotate refresh tokens, revoke replayed chains,
and expose safe session metadata.
Keep machine identity on its own path
uv add 'authweave-workload[mtls,jwt,sqlalchemy]'
# Add [litestar] only for the Extension SDK v2 integration.
WorkloadLifecycleService manages service applications, principals, public certificate metadata,
overlapping rotation, revocation, and same-transaction security events. Private keys are rejected
at the package boundary and are never stored.
At request time:
DirectMTLSProviderconsumes trusted TLS peer evidence.MTLSBoundJWTProviderverifies an asymmetric access token from a configured external issuer.- DPoP, SPIFFE, and sender-constrained introspection profiles remain behind explicit extras and route policy.
- Bound tokens or proofs must match the same verified certificate or DPoP key.
- Ambiguous credential ownership and provider failures stop authentication; they never fall through to another provider.
authweave-workload also provides strict outbound RFC 8693 token exchange and typed payment
authorization details. authweave-webhooks and authweave-http-signatures verify message
integrity after authentication; authweave-otel observes outcomes without changing them.
The repository includes an Envoy-based reference stack with negative-path verification:
sh docker/reference/verify.sh
Security boundary
[!IMPORTANT] Authentication establishes a verified principal and constraints. Your application still owns tenant mapping, row-level security, resource ownership, and business authorization.
Version 7 intentionally does not provide unconstrained bearer login, user-owned API keys, shared-secret machine or request-signing credentials, an OAuth Authorization Server or STS, generic IAM, or production rollout automation. Token exchange is a strict client for an external STS; it does not operate one.
Release evidence
CI exercises Python 3.12–3.14 on Linux, macOS, and Windows. Every distribution has an independent 100% branch-coverage gate, and the repository runs CodeQL, dependency review, pinned-action checks, reproducible builds, per-distribution CycloneDX 1.7 SBOMs and build-provenance attestations, isolated wheel imports, and live PostgreSQL/Redis/proxy reference stacks.
That evidence establishes library readiness, not certification of a particular deployment. The readiness roadmap lists the independent conformance, security-review, KMS, capacity, and operational gates required for production profiles.
Documentation
- Quickstart
- Installation and extras
- Architecture contract
- Security posture
- Vulnerability reporting
- Version 7 migration
- Changelog
- Deployment reference
- Contributing
License
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file litestar_auth-7.3.2.tar.gz.
File metadata
- Download URL: litestar_auth-7.3.2.tar.gz
- Upload date:
- Size: 328.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6b791cd45900fff679ba5aa7fc7919b09b857e0fd33bd222137e52f972c7a7a8
|
|
| MD5 |
90586f8e5e41b87a756b0792e8db0688
|
|
| BLAKE2b-256 |
41317375e3b61b2b5cbd764242d601255aad5dab2f7d82529ec88c10f52e6cef
|
Provenance
The following attestation bundles were made for litestar_auth-7.3.2.tar.gz:
Publisher:
3_release.yml on ZYLVEXT/litestar-auth
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
litestar_auth-7.3.2.tar.gz -
Subject digest:
6b791cd45900fff679ba5aa7fc7919b09b857e0fd33bd222137e52f972c7a7a8 - Sigstore transparency entry: 2385010767
- Sigstore integration time:
-
Permalink:
ZYLVEXT/litestar-auth@45afbc087305d68d3bc83516780f789575d71c37 -
Branch / Tag:
refs/tags/7.3.2 - Owner: https://github.com/ZYLVEXT
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
3_release.yml@45afbc087305d68d3bc83516780f789575d71c37 -
Trigger Event:
workflow_dispatch
-
Statement type:
File details
Details for the file litestar_auth-7.3.2-py3-none-any.whl.
File metadata
- Download URL: litestar_auth-7.3.2-py3-none-any.whl
- Upload date:
- Size: 463.8 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/7.0.0 CPython/3.13.14
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f95e4a09beca783b5203d4a3a3220f3d24d5784d91876f7b3b398b47ba99e346
|
|
| MD5 |
6ba74b81ef80339f533883c1571ae639
|
|
| BLAKE2b-256 |
739085c07a5f887871fa1bd0ceec06b8ef1032135ef21e475258008816a1b255
|
Provenance
The following attestation bundles were made for litestar_auth-7.3.2-py3-none-any.whl:
Publisher:
3_release.yml on ZYLVEXT/litestar-auth
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
litestar_auth-7.3.2-py3-none-any.whl -
Subject digest:
f95e4a09beca783b5203d4a3a3220f3d24d5784d91876f7b3b398b47ba99e346 - Sigstore transparency entry: 2385011393
- Sigstore integration time:
-
Permalink:
ZYLVEXT/litestar-auth@45afbc087305d68d3bc83516780f789575d71c37 -
Branch / Tag:
refs/tags/7.3.2 - Owner: https://github.com/ZYLVEXT
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
3_release.yml@45afbc087305d68d3bc83516780f789575d71c37 -
Trigger Event:
workflow_dispatch
-
Statement type: