Checklist
Description
Running a0deploy import with a branding section that contains logo_url but no colors silently resets the tenant's Authentication Profile (Dashboard → Authentication → Authentication Profile) from "Identifier First" to "Identifier + Password".
The Authentication Profile is not managed in our tenant.yaml (there is no prompts section), it was configured via the dashboard. The import exits successfully with no warning or error, so the change goes unnoticed until login behavior breaks (in our case, it broke smoke tests that assert on the /u/login/identifier flow).
This reproduces the reset with this branding config:
branding:
logo_url: https://images.abc.xyz/static/images/my-image.svg
templates: []
However, the same import with colors present does NOT reset the profile:
branding:
colors:
page_background: '#444f5f'
primary: '#444f5f'
logo_url: https://images.abc.xyz/static/images/my-image.svg
templates: []
This appears closely related to:
Given auth0/terraform-provider-auth0#1510, the root cause may be Management API behavior rather than the CLI itself, but the CLI is where users hit it: when prompts.identifier_first is not present in the yaml, nothing restores the profile after the branding call, and the deploy reports success. At minimum the CLI should avoid emitting the branding payload shape that triggers the reset (the colors-present payload evidently does not), or warn that an unmanaged Authentication Profile may be mutated.
cc/ @gdsoumya @kencochrane
Expectation
Importing branding settings should never mutate the Authentication Profile (identifier_first), especially when prompts is not part of the managed configuration. If that is unavoidable, the CLI should emit a warning or error instead of succeeding silently.
Reproduction
- On a tenant, set Authentication Profile to "Identifier First" via the dashboard.
- Create a
tenant.yaml containing only:
branding:
logo_url: https://images.akuity.io/static/images/logo-color.svg
templates: []
- Run
a0deploy import -i tenant.yaml -c config.json.
- Check Dashboard → Authentication → Authentication Profile: it is now "Identifier + Password". Login UI at
/u/login shows username + password on one screen instead of the identifier-first flow.
- Repeat steps 1–4 with
colors added to the branding block — the profile is left untouched.
Deploy CLI version
8.36.0
Node version
24.16.0
Checklist
Description
Running
a0deploy importwith abrandingsection that containslogo_urlbut nocolorssilently resets the tenant's Authentication Profile (Dashboard → Authentication → Authentication Profile) from "Identifier First" to "Identifier + Password".The Authentication Profile is not managed in our
tenant.yaml(there is nopromptssection), it was configured via the dashboard. The import exits successfully with no warning or error, so the change goes unnoticed until login behavior breaks (in our case, it broke smoke tests that assert on the/u/login/identifierflow).This reproduces the reset with this branding config:
However, the same import with
colorspresent does NOT reset the profile:This appears closely related to:
promptsis not managed in the yamlauth0_brandingwith onlylogo_urlsilently resets authentication profile settings terraform-provider-auth0#1510, which independently demonstrates that aPATCH /api/v2/brandingcontaining onlylogo_urltriggers the profile reset server-sideGiven auth0/terraform-provider-auth0#1510, the root cause may be Management API behavior rather than the CLI itself, but the CLI is where users hit it: when
prompts.identifier_firstis not present in the yaml, nothing restores the profile after the branding call, and the deploy reports success. At minimum the CLI should avoid emitting the branding payload shape that triggers the reset (thecolors-present payload evidently does not), or warn that an unmanaged Authentication Profile may be mutated.cc/ @gdsoumya @kencochrane
Expectation
Importing
brandingsettings should never mutate the Authentication Profile (identifier_first), especially whenpromptsis not part of the managed configuration. If that is unavoidable, the CLI should emit a warning or error instead of succeeding silently.Reproduction
tenant.yamlcontaining only:a0deploy import -i tenant.yaml -c config.json./u/loginshows username + password on one screen instead of the identifier-first flow.colorsadded to the branding block — the profile is left untouched.Deploy CLI version
8.36.0
Node version
24.16.0