From 586a7515dfd68dce273fa49f054be35d6dcdad78 Mon Sep 17 00:00:00 2001 From: Romaric Parmentier Date: Wed, 15 Oct 2025 20:18:53 -0400 Subject: [PATCH] chore(auth): add client_storage property to aws provider (#2107) --- src/fastmcp/server/auth/providers/aws.py | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/src/fastmcp/server/auth/providers/aws.py b/src/fastmcp/server/auth/providers/aws.py index dccdefb57..6569b6d3d 100644 --- a/src/fastmcp/server/auth/providers/aws.py +++ b/src/fastmcp/server/auth/providers/aws.py @@ -23,6 +23,7 @@ Example: from __future__ import annotations +from key_value.aio.protocols import AsyncKeyValue from pydantic import AnyHttpUrl, SecretStr, field_validator from pydantic_settings import BaseSettings, SettingsConfigDict @@ -131,6 +132,7 @@ class AWSCognitoProvider(OIDCProxy): redirect_path: str | NotSetT = NotSet, required_scopes: list[str] | NotSetT = NotSet, allowed_client_redirect_uris: list[str] | NotSetT = NotSet, + client_storage: AsyncKeyValue | None = None, ): """Initialize AWS Cognito OAuth provider. @@ -144,6 +146,7 @@ class AWSCognitoProvider(OIDCProxy): required_scopes: Required Cognito scopes (defaults to ["openid"]) allowed_client_redirect_uris: List of allowed redirect URI patterns for MCP clients. If None (default), all URIs are allowed. If empty list, no URIs are allowed. + client_storage: An AsyncKeyValue-compatible store for client registrations, registrations are stored in memory if not provided """ settings = AWSCognitoProviderSettings.model_validate( @@ -205,6 +208,7 @@ class AWSCognitoProvider(OIDCProxy): base_url=settings.base_url, redirect_path=redirect_path_final, allowed_client_redirect_uris=allowed_client_redirect_uris_final, + client_storage=client_storage, ) logger.info(