feat: add Multiple Custom Domains (MCD) support and fix JWT verification #71
+1,784
−110
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Multiple Custom Domains (MCD) Support with JWT Verification
🎯 Overview
This PR adds Multiple Custom Domains (MCD) support to
auth0-server-python, enabling applications to serve multiple tenants from different hostnames, each mapping to a separate Auth0 tenant. Additionally, this PR includes critical security fixes for JWT verification and token refresh in MCD scenarios.✨ Features
1. Multiple Custom Domains Support
Callableas domain parameter for runtime resolutionDomainResolverContextwithrequest_urlandrequest_headersExample:
2. OIDC Metadata & JWKS Caching
3. JWT Signature Verification with Issuer Validation
issclaim matches origin domainkid4. Domain-Specific Session Management
🔄 Compatibility
✅ 100% Backward Compatible - No breaking changes for existing users.
Existing Usage (Unchanged)
New Usage (Optional)
What Changed Internally
Impact: Existing applications require zero code changes to upgrade.
🔒 Security Enhancements
📊 Testing
test_server_client.pyTest Scenarios Covered:
📚 Documentation
examples/MCD.md- New quick reference guide