Skip to main content
Deploy CLI prend en charge le remplacement dynamique de mots-clés par des valeurs propres à l’environnement. Cela permet de mettre en place un workflow multilocataire évolutif, dans lequel tous les tenants partagent les mêmes fichiers de configuration des ressources, tout en y injectant des valeurs légèrement différentes. Pour utiliser le remplacement de mots-clés, la propriété de configuration AUTH0_KEYWORD_REPLACE_MAPPINGS doit contenir les mappages appropriés. Ensuite, dans les fichiers de configuration des ressources, les mots-clés peuvent être injectés de l’une des deux façons suivantes :
  1. @@EXAMPLE_KEY@@ : L’utilisation des symboles @ fait en sorte que l’outil exécute un JSON.stringify sur votre valeur avant de la remplacer. Ainsi, si votre valeur est une chaîne de caractères, l’outil ajoutera des guillemets; si votre valeur est un tableau ou un objet, l’outil ajoutera des accolades.
  2. ##EXAMPLE_KEY## : L’utilisation du symbole # fait en sorte que l’outil effectue un remplacement littéral; il n’ajoutera ni guillemets ni accolades.

Exemple de config.json

Exemple de tenant.yaml

Exemple de fichier tenant.json

Concaténation de tableaux

Il se peut que vous ayez besoin de concaténer des valeurs à un tableau statique au moyen du remplacement de mots-clés. Il n’existe toutefois aucune syntaxe particulière pour ce cas. Il est cependant possible d’y parvenir en échappant les guillemets doubles dans une chaîne unique contenant les valeurs appropriées, puis en l’injectant à l’aide de la syntaxe de mot-clé ##. Cette technique fonctionne avec les formats YAML et de répertoire.

Exemple de config.json

Exemple de tenant.yaml

Préserver les mots-clés à l’exportation

En règle générale, le Deploy CLI fonctionne mieux lorsqu’il est utilisé dans un workflow unidirectionnel, de vos environnements de niveau inférieur (p. ex. : dev, test) vers vos environnements de production. Toutefois, il sera parfois nécessaire d’exporter la configuration d’un environnement de niveau supérieur vers votre répertoire de configuration local. Par défaut, les valeurs distantes écraseront vos valeurs locales, ce qui entraînera la suppression de vos marqueurs de mots-clés. Il est toutefois possible d’activer la préservation des remplacements de mots-clés au moyen de la propriété de configuration booléenne AUTH0_PRESERVE_KEYWORDS. Lorsque cette option est activée, le Deploy CLI tentera de préserver, pendant l’exportation, les marqueurs de mots-clés définis dans vos fichiers de configuration locaux. La fonctionnalité de préservation des mots-clés tentera d’en conserver le plus possible tout en maintenant l’exactitude de vos fichiers de configuration des ressources. Dans la majorité des cas, elle fonctionnera sans aucune intervention de l’utilisateur. Cependant, certaines limites importantes s’appliquent :
  • Dans le cas d’un champ de configuration utilisant un remplacement de mots-clés, si les valeurs locales et distantes diffèrent, la valeur de configuration locale sera toujours privilégiée. Cela signifie que toute modification effectuée à distance sera effacée si un marqueur de remplacement de mot-clé se trouve n’importe où dans la valeur de ce champ dans le fichier de définition de la ressource; il n’y a aucune réconciliation « intelligente ».
  • Les tableaux sans identificateurs précis ne peuvent pas être préservés. Ex. : ["http://site.com/logout", "localhost:3000/logout", "##LOGOUT_URL##"]. Cela s’explique par le fait que l’ordre de ces valeurs n’est pas déterministe. Pour préserver ces valeurs, il est plutôt recommandé d’utiliser la syntaxe de remplacement de mot-clé @@ARRAY_REPLACE@@ avec la valeur complète.
Pour en savoir plus sur l’historique et les défis techniques liés à la préservation des mots-clés, consultez RFC: Keyword Preservation During Export.