mgmt: Adds Auth0-Custom-Header on allow-listed Management API endpoints#985
Merged
Merged
Conversation
52207ea to
95d8574
Compare
tanya732
reviewed
Apr 22, 2026
| public string? CustomDomain | ||
| { | ||
| get => _customDomain; | ||
| #if NET5_0_OR_GREATER |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
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.
Changes
Adds support for the
Auth0-Custom-Domainheader on Management API endpoints that generate user-facing links. Auth0 tenants with Multiple Custom Domains (MCD) enabled must supply this header so that generatedURLs (verification emails, password reset tickets, invitations, etc.) resolve against the correct custom domain.
Affected endpoints (allow-list):
POST /api/v2/tickets/email-verificationPOST /api/v2/tickets/password-changePOST /api/v2/organizations/{id}/invitationsPOST /api/v2/guardian/enrollments/ticketPOST /api/v2/jobs/verification-emailPOST /api/v2/jobs/users-importsPOST /api/v2/usersandPATCH /api/v2/users/{id}POST /api/v2/self-service-profiles/{id}/sso-ticketNew classes/APIs:
CustomDomainInterceptor(DelegatingHandler) — stripsAuth0-Custom-Domainfrom any request whose path is not on the allow-list, preventing the header from leaking to unrelated endpoints.CustomDomainHeader.For(string domain)— convenience factory returning aRequestOptionspre-populated with theAuth0-Custom-Domainheader for per-request use.CustomDomainproperty added toClientOptionsandManagementClientOptions— when set (and no customHttpClientis provided), the SDK automatically wires upCustomDomainInterceptor.Usage summary:
Examples.mdupdated with a new section 5 covering all three patterns.References
Testing
This change adds unit test coverage
This change adds integration test coverage
This change has been tested on the latest version of the platform/language or why not
Checklist
I have read the Auth0 general contribution guidelines
I have read the Auth0 Code of Conduct