feat: support UL theme identifiers and tenant country codes#1592
Open
bkiran6398 wants to merge 6 commits into
Open
feat: support UL theme identifiers and tenant country codes#1592bkiran6398 wants to merge 6 commits into
bkiran6398 wants to merge 6 commits into
Conversation
- Update the go-auth0 v1 SDK to v1.45.0, which adds the tenant CountryCodes and branding theme Identifiers types required by the tenant-settings and universal-login features.
- Add `auth0 tenant-settings country-codes` (alias `cc`) with `show`,
`update`, and `remove` subcommands to manage phone-identifier country
code filtering (allow/deny list) on the tenant.
- `update` sends a minimal tenant carrying only country_codes so the merge
PATCH does not round-trip read-only fields (e.g. sandbox_versions_available)
that the endpoint rejects.
- `remove` sends an explicit {"country_codes": null} via the raw HTTP client,
since the SDK's omitempty tag would otherwise drop a nil pointer and
preserve the stored value instead of clearing it.
- Defer all list/mode/ISO validation to the Management API rather than
duplicating it client-side.
- Add CountryCodesView plus show/update/remove renderers, unit tests,
integration cases, and regenerated command docs.
- Populate BrandingThemeIdentifiers in fetchBrandingThemeOrUseDefault so the customize editor starts from the API's copy-on-create defaults (unified login display, OTP autocomplete on, mask_digits/international phone display) when a tenant has no stored theme. - Add test coverage asserting the default identifiers are applied.
- Replace YAML list values under the `json:` matcher with indexed gjson
paths (list.0, list.1, ...) in the country-codes update/show cases.
- The commander framework unmarshals every `json:` value as a string, so
a YAML sequence panicked at parse time with "interface {} is
[]interface {}, not string", aborting the whole integration suite before
any assertion ran.
- Aligns these cases with the repo convention for asserting array elements
(e.g. actions and roles test cases).
Codecov Report❌ Patch coverage is
Additional details and impacted files@@ Coverage Diff @@
## main #1592 +/- ##
==========================================
+ Coverage 59.47% 59.63% +0.15%
==========================================
Files 122 122
Lines 23496 23650 +154
==========================================
+ Hits 13975 14103 +128
- Misses 8640 8659 +19
- Partials 881 888 +7 ☔ View full report in Codecov by Harness. 🚀 New features to boost your workflow:
|
…ions - Rebuild the embedded UL customize web UI from the latest atko-cic/ulp-branding-app bundle, adding support for the new `integrations` field in theme customization. - Rename the embedded JS asset (index-ec2d5a69.js -> index-a1dd6a97.js) and repoint index.html to the new bundle so the correct assets are served. - Used node v22 (nvm use 22) to make assets
bkiran6398
marked this pull request as ready for review
July 22, 2026 13:23
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
Add support for the Universal Login identifier-input refactor and introduce a new tenant-settings command group for country-codes filtering.
Universal Login theme identifiers (
auth0 ul customize):Identifiersdefaults to the branding theme used byauth0 ul customize, so the customization editor starts from a valid identifier configuration (login_display: unified,otp_autocomplete: true, phone display masking/formatting).atko-cic/ulp-branding-appbundle to add support for the newintegrationsfield in theme customization.Tenant settings country-codes (
auth0 tenant-settings country-codes):country-codes(aliascc) command group to manage country-codes filtering on the tenant.show— display the configured mode and list (supports--json/--json-compact).update— set the filtering with--list(comma-separated ISO 3166-1 alpha-2 codes) and--mode(allowordeny); prompts interactively when flags are omitted.remove(aliasrm) — clear the filter. Sendscountry_codes: nullvia the raw HTTP client becauseomitemptywould otherwise drop the nil pointer and leave the filter in place.📚 References
🔬 Testing
internal/cli/tenant_settings_test.go) and the UL customize theme-identifier defaults (internal/cli/universal_login_customize_test.go). Integration cases added intest/integration/tenant-settings-test-cases.yamlcovering country-codes update (allow/deny), show (table + JSON), and remove.auth0 tenant-settings country-codes update --list US,GB,CA --mode allow --jsonauth0 tenant-settings country-codes showauth0 tenant-settings country-codes removeauth0 ul customize -r standard, confirm the editor loads and the theme customization panel exposes the identifier and integrations options without warnings.📝 Checklist