docs/python-sdk/fastmcp-server-auth-redirect_validation.mdx
fastmcp.server.auth.redirect_validationUtilities for validating client redirect URIs in OAuth flows.
This module provides secure redirect URI validation with wildcard support, protecting against userinfo-based bypass attacks like http://[email protected].
matches_allowed_pattern <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/auth/redirect_validation.py#L132" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>matches_allowed_pattern(uri: str, pattern: str) -> bool
Securely check if a URI matches an allowed pattern with wildcard support.
This function parses both the URI and pattern as URLs, comparing each component separately to prevent bypass attacks like userinfo injection.
Patterns support wildcards:
Security: Rejects URIs with userinfo (user:pass@host) which could bypass naive string matching (e.g., http://[email protected]).
Args:
uri: The redirect URI to validatepattern: The allowed pattern (may contain wildcards)Returns:
validate_redirect_uri <sup><a href="https://github.com/PrefectHQ/fastmcp/blob/main/src/fastmcp/server/auth/redirect_validation.py#L187" target="_blank"><Icon icon="github" style="width: 14px; height: 14px;" /></a></sup>validate_redirect_uri(redirect_uri: str | AnyUrl | None, allowed_patterns: list[str] | None) -> bool
Validate a redirect URI against allowed patterns.
Args:
redirect_uri: The redirect URI to validateallowed_patterns: List of allowed patterns. If None, all URIs are allowed (for DCR compatibility).
If empty list, no URIs are allowed.
To restrict to localhost only, explicitly pass DEFAULT_LOCALHOST_PATTERNS.Returns: