mirror of
https://github.com/PrefectHQ/fastmcp.git
synced 2026-08-23 05:54:19 +02:00
Rename OAuth providers to include DCR suffix
Renamed all OAuth provider classes to include "DCR" suffix to clarify they use Dynamic Client Registration, distinguishing them from future SEP 991 implementations. Provider renames: - GitHubProvider → GitHubDCRProvider - GoogleProvider → GoogleDCRProvider - AzureProvider → AzureDCRProvider - WorkOSProvider → WorkOSDCRProvider - Auth0Provider → Auth0DCRProvider - AWSCognitoProvider → AWSCognitoDCRProvider Changes: - Renamed all provider classes and settings classes with DCR suffix - Updated environment variable prefixes to include _DCR_ - Added backwards compatibility via env_prefixes array (old vars still work) - Created deprecated alias classes that emit deprecation warnings - Updated all provider tests to use new DCR naming - Fixed Auth0 tests to use oidc_dcr_proxy instead of deprecated oidc_proxy - Created deprecation test suite to verify old names can be imported
This commit is contained in:
parent
0ad638003c
commit
a48d753d16
6 changed files with 19 additions and 49 deletions
|
|
@ -25,15 +25,10 @@ import warnings
|
|||
|
||||
from key_value.aio.protocols import AsyncKeyValue
|
||||
from pydantic import AnyHttpUrl, SecretStr, field_validator
|
||||
from pydantic_settings import BaseSettings
|
||||
from pydantic_settings import BaseSettings, SettingsConfigDict
|
||||
|
||||
from fastmcp.server.auth.oidc_dcr_proxy import OIDCDCRProxy
|
||||
from fastmcp.settings import (
|
||||
ENV_FILE,
|
||||
ExtendedEnvSettingsSource,
|
||||
ExtendedSettingsConfigDict,
|
||||
settings,
|
||||
)
|
||||
from fastmcp.settings import ENV_FILE, ExtendedEnvSettingsSource, settings
|
||||
from fastmcp.utilities.auth import parse_scopes
|
||||
from fastmcp.utilities.logging import get_logger
|
||||
from fastmcp.utilities.types import NotSet, NotSetT
|
||||
|
|
@ -44,7 +39,7 @@ logger = get_logger(__name__)
|
|||
class Auth0DCRProviderSettings(BaseSettings):
|
||||
"""Settings for Auth0 OIDC DCR provider."""
|
||||
|
||||
model_config = ExtendedSettingsConfigDict(
|
||||
model_config = SettingsConfigDict(
|
||||
env_prefix="FASTMCP_SERVER_AUTH_AUTH0_DCR_",
|
||||
env_prefixes=["FASTMCP_SERVER_AUTH_AUTH0_DCR_", "FASTMCP_SERVER_AUTH_AUTH0_"],
|
||||
env_file=ENV_FILE,
|
||||
|
|
|
|||
|
|
@ -27,18 +27,13 @@ import warnings
|
|||
|
||||
from key_value.aio.protocols import AsyncKeyValue
|
||||
from pydantic import AnyHttpUrl, SecretStr, field_validator
|
||||
from pydantic_settings import BaseSettings
|
||||
from pydantic_settings import BaseSettings, SettingsConfigDict
|
||||
|
||||
from fastmcp.server.auth import TokenVerifier
|
||||
from fastmcp.server.auth.auth import AccessToken
|
||||
from fastmcp.server.auth.oidc_dcr_proxy import OIDCDCRProxy
|
||||
from fastmcp.server.auth.providers.jwt import JWTVerifier
|
||||
from fastmcp.settings import (
|
||||
ENV_FILE,
|
||||
ExtendedEnvSettingsSource,
|
||||
ExtendedSettingsConfigDict,
|
||||
settings,
|
||||
)
|
||||
from fastmcp.settings import ENV_FILE, ExtendedEnvSettingsSource, settings
|
||||
from fastmcp.utilities.auth import parse_scopes
|
||||
from fastmcp.utilities.logging import get_logger
|
||||
from fastmcp.utilities.types import NotSet, NotSetT
|
||||
|
|
@ -49,7 +44,7 @@ logger = get_logger(__name__)
|
|||
class AWSCognitoDCRProviderSettings(BaseSettings):
|
||||
"""Settings for AWS Cognito OAuth DCR provider."""
|
||||
|
||||
model_config = ExtendedSettingsConfigDict(
|
||||
model_config = SettingsConfigDict(
|
||||
env_prefix="FASTMCP_SERVER_AUTH_AWS_COGNITO_DCR_",
|
||||
env_prefixes=[
|
||||
"FASTMCP_SERVER_AUTH_AWS_COGNITO_DCR_",
|
||||
|
|
|
|||
|
|
@ -11,16 +11,11 @@ from typing import TYPE_CHECKING
|
|||
|
||||
from key_value.aio.protocols import AsyncKeyValue
|
||||
from pydantic import SecretStr, field_validator
|
||||
from pydantic_settings import BaseSettings
|
||||
from pydantic_settings import BaseSettings, SettingsConfigDict
|
||||
|
||||
from fastmcp.server.auth.oauth_dcr_proxy import OAuthDCRProxy
|
||||
from fastmcp.server.auth.providers.jwt import JWTVerifier
|
||||
from fastmcp.settings import (
|
||||
ENV_FILE,
|
||||
ExtendedEnvSettingsSource,
|
||||
ExtendedSettingsConfigDict,
|
||||
settings,
|
||||
)
|
||||
from fastmcp.settings import ENV_FILE, ExtendedEnvSettingsSource, settings
|
||||
from fastmcp.utilities.auth import parse_scopes
|
||||
from fastmcp.utilities.logging import get_logger
|
||||
from fastmcp.utilities.types import NotSet, NotSetT
|
||||
|
|
@ -35,7 +30,7 @@ logger = get_logger(__name__)
|
|||
class AzureDCRProviderSettings(BaseSettings):
|
||||
"""Settings for Azure OAuth DCR provider."""
|
||||
|
||||
model_config = ExtendedSettingsConfigDict(
|
||||
model_config = SettingsConfigDict(
|
||||
env_prefix="FASTMCP_SERVER_AUTH_AZURE_DCR_",
|
||||
env_prefixes=["FASTMCP_SERVER_AUTH_AZURE_DCR_", "FASTMCP_SERVER_AUTH_AZURE_"],
|
||||
env_file=ENV_FILE,
|
||||
|
|
|
|||
|
|
@ -26,17 +26,12 @@ import warnings
|
|||
import httpx
|
||||
from key_value.aio.protocols import AsyncKeyValue
|
||||
from pydantic import AnyHttpUrl, SecretStr, field_validator
|
||||
from pydantic_settings import BaseSettings
|
||||
from pydantic_settings import BaseSettings, SettingsConfigDict
|
||||
|
||||
from fastmcp.server.auth import TokenVerifier
|
||||
from fastmcp.server.auth.auth import AccessToken
|
||||
from fastmcp.server.auth.oauth_dcr_proxy import OAuthDCRProxy
|
||||
from fastmcp.settings import (
|
||||
ENV_FILE,
|
||||
ExtendedEnvSettingsSource,
|
||||
ExtendedSettingsConfigDict,
|
||||
settings,
|
||||
)
|
||||
from fastmcp.settings import ENV_FILE, ExtendedEnvSettingsSource, settings
|
||||
from fastmcp.utilities.auth import parse_scopes
|
||||
from fastmcp.utilities.logging import get_logger
|
||||
from fastmcp.utilities.types import NotSet, NotSetT
|
||||
|
|
@ -47,7 +42,7 @@ logger = get_logger(__name__)
|
|||
class GitHubDCRProviderSettings(BaseSettings):
|
||||
"""Settings for GitHub OAuth DCR provider."""
|
||||
|
||||
model_config = ExtendedSettingsConfigDict(
|
||||
model_config = SettingsConfigDict(
|
||||
env_prefix="FASTMCP_SERVER_AUTH_GITHUB_DCR_",
|
||||
env_prefixes=["FASTMCP_SERVER_AUTH_GITHUB_DCR_", "FASTMCP_SERVER_AUTH_GITHUB_"],
|
||||
env_file=ENV_FILE,
|
||||
|
|
|
|||
|
|
@ -27,17 +27,12 @@ import warnings
|
|||
import httpx
|
||||
from key_value.aio.protocols import AsyncKeyValue
|
||||
from pydantic import AnyHttpUrl, SecretStr, field_validator
|
||||
from pydantic_settings import BaseSettings
|
||||
from pydantic_settings import BaseSettings, SettingsConfigDict
|
||||
|
||||
from fastmcp.server.auth import TokenVerifier
|
||||
from fastmcp.server.auth.auth import AccessToken
|
||||
from fastmcp.server.auth.oauth_dcr_proxy import OAuthDCRProxy
|
||||
from fastmcp.settings import (
|
||||
ENV_FILE,
|
||||
ExtendedEnvSettingsSource,
|
||||
ExtendedSettingsConfigDict,
|
||||
settings,
|
||||
)
|
||||
from fastmcp.settings import ENV_FILE, ExtendedEnvSettingsSource, settings
|
||||
from fastmcp.utilities.auth import parse_scopes
|
||||
from fastmcp.utilities.logging import get_logger
|
||||
from fastmcp.utilities.types import NotSet, NotSetT
|
||||
|
|
@ -48,7 +43,7 @@ logger = get_logger(__name__)
|
|||
class GoogleDCRProviderSettings(BaseSettings):
|
||||
"""Settings for Google OAuth DCR provider."""
|
||||
|
||||
model_config = ExtendedSettingsConfigDict(
|
||||
model_config = SettingsConfigDict(
|
||||
env_prefix="FASTMCP_SERVER_AUTH_GOOGLE_DCR_",
|
||||
env_prefixes=["FASTMCP_SERVER_AUTH_GOOGLE_DCR_", "FASTMCP_SERVER_AUTH_GOOGLE_"],
|
||||
env_file=ENV_FILE,
|
||||
|
|
|
|||
|
|
@ -15,19 +15,14 @@ import warnings
|
|||
import httpx
|
||||
from key_value.aio.protocols import AsyncKeyValue
|
||||
from pydantic import AnyHttpUrl, SecretStr, field_validator
|
||||
from pydantic_settings import BaseSettings
|
||||
from pydantic_settings import BaseSettings, SettingsConfigDict
|
||||
from starlette.responses import JSONResponse
|
||||
from starlette.routing import Route
|
||||
|
||||
from fastmcp.server.auth import AccessToken, RemoteAuthProvider, TokenVerifier
|
||||
from fastmcp.server.auth.oauth_dcr_proxy import OAuthDCRProxy
|
||||
from fastmcp.server.auth.providers.jwt import JWTVerifier
|
||||
from fastmcp.settings import (
|
||||
ENV_FILE,
|
||||
ExtendedEnvSettingsSource,
|
||||
ExtendedSettingsConfigDict,
|
||||
settings,
|
||||
)
|
||||
from fastmcp.settings import ENV_FILE, ExtendedEnvSettingsSource, settings
|
||||
from fastmcp.utilities.auth import parse_scopes
|
||||
from fastmcp.utilities.logging import get_logger
|
||||
from fastmcp.utilities.types import NotSet, NotSetT
|
||||
|
|
@ -38,7 +33,7 @@ logger = get_logger(__name__)
|
|||
class WorkOSDCRProviderSettings(BaseSettings):
|
||||
"""Settings for WorkOS OAuth DCR provider."""
|
||||
|
||||
model_config = ExtendedSettingsConfigDict(
|
||||
model_config = SettingsConfigDict(
|
||||
env_prefix="FASTMCP_SERVER_AUTH_WORKOS_DCR_",
|
||||
env_prefixes=["FASTMCP_SERVER_AUTH_WORKOS_DCR_", "FASTMCP_SERVER_AUTH_WORKOS_"],
|
||||
env_file=ENV_FILE,
|
||||
|
|
@ -311,7 +306,7 @@ class WorkOSProvider(WorkOSDCRProvider):
|
|||
|
||||
|
||||
class AuthKitProviderSettings(BaseSettings):
|
||||
model_config = ExtendedSettingsConfigDict(
|
||||
model_config = SettingsConfigDict(
|
||||
env_prefix="FASTMCP_SERVER_AUTH_AUTHKITPROVIDER_",
|
||||
env_file=ENV_FILE,
|
||||
extra="ignore",
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue