mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-20 12:34:17 +02:00
* Add M2M client credentials auth providers Wrap the SDK's client_credentials and private_key_jwt OAuth providers as FastMCP-idiomatic ClientCredentialsOAuthProvider and PrivateKeyJWTOAuthProvider, enabling browser-free client authentication via Client(auth=...). * Fix M2M token cache collision and explicit-scope drop Namespace the token cache by client_id so distinct clients sharing one store don't overwrite each other's tokens; pin caller-supplied scopes so the token request keeps them; fix CodeQL URL-substring check in tests; drop unused logger. * Preserve step-up scope union, scope-aware token cache, restore token expiry Only pin the caller's explicit scopes on initial authorization, leaving the SDK's step-up scope union intact; namespace the token cache by requested scopes as well as client_id; restore persisted absolute expiry on init so an expired stored token is re-fetched. * Skip expiry restore for non-expiring reloaded tokens * Distinguish expires_in=0 from omitted when restoring expiry * Scope step-up flag to the flow via ContextVar; runnable JWT signing example |
||
|---|---|---|
| .. | ||
| auth | ||
| client | ||
| sampling | ||
| tasks | ||
| telemetry | ||
| transports | ||
| __init__.py | ||
| minimal_stdio_server.py | ||
| test_client_extensions.py | ||
| test_elicitation.py | ||
| test_elicitation_enums.py | ||
| test_logs.py | ||
| test_notifications.py | ||
| test_oauth_callback_race.py | ||
| test_oauth_callback_xss.py | ||
| test_openapi.py | ||
| test_progress.py | ||
| test_roots.py | ||
| test_sampling.py | ||
| test_sampling_result_types.py | ||
| test_sampling_tool_loop.py | ||
| test_slim_package_boundaries.py | ||
| test_sse.py | ||
| test_stdio.py | ||
| test_streamable_http.py | ||