You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I’m trying to implement keyword replacement 1 to allow me to manage our development and production tenants. It’s working as expected, but I’m getting an error when I try to use it for the enabled_clients attribute on a username/password database connection. The goal is to enable it for some applications in development, but not in production.
I think I've identified the bug. It's specific to using keyword preservation for the enabled_clients attribute. mapClientID2NameSorted is being called with the unsubstituted value (i.e. `"@@...@@") as a string instead of a list of strings. I suppose this isn't a problem for other attributes as they don't have any processing like this.
@willvedd it looks like you added the keyword preservation feature. Do you have any thoughts on what a fix for this would look like? I'm able to help with code but don't have a full model in my head of how everything connects together yet.
@snorfalorpagus Thanks for opening this ticket; especially appreciate your insight on the issue.
It seems like keyword preservation running before the database dum operation creates the issue due to client_id and client name mismatch.
Feel free to submit a PR 🙏.
A few things we noticed when switching to version 8.0.0:
On all other options where we are trying to use the placeholders for arrays, we need to enclose the value in double quotes: Eg. Within the brute-force-protection.json we need to use "allowlist": "@@bruteForceProtectionAllowlist@@". If we don’t enclose it in double quotes, then the placeholder is not preserved when exporting again. In the case of the enabled_clients the export will fail with an error if you use the double quotes.
To avoid generating an error for enabled_clients, you need to use the array placeholder without double quotes. However, the placeholder is not preserved on export. NOTE: I’m using the "AUTH0_PRESERVE_KEYWORDS": true config option. Example: I use "enabled_clients": @@databaseEnabledClients@@ where the config file I pass in has an entry in the AUTH0_KEYWORD_REPLACE_MAPPINGS section. On export the placeholder is not preserved and instead the actual tenant value for the enabled_clients replaces the placeholder.
Checklist
Description
I’m trying to implement keyword replacement 1 to allow me to manage our development and production tenants. It’s working as expected, but I’m getting an error when I try to use it for the enabled_clients attribute on a username/password database connection. The goal is to enable it for some applications in development, but not in production.
Originally posted in the community forum: https://community.auth0.com/t/typeerror-when-using-keyword-replacement-with-database-enabled-clients/139339/2
Expectation
If I enable debug output when running a0deploy export I see the following:
Using the same technique for another attribute in the file (e.g. realms) works as expected.
Have I made some mistake in the syntax? Or is this a bug in the CLI?
Reproduction
My config looks like this:
with a replacement like:
Deploy CLI version
7.23.1
Node version
18.20.4
The text was updated successfully, but these errors were encountered: