post-login) du flux de connexion Si vous suivez les étapes ci-dessous et que vous conservez vos Actions dans le même ordre que vos Règles d’origine, la fonctionnalité devrait être identique.
Planifier votre migration
Conseils pour la planification de la migration
- Conservez vos Actions et vos Règles à l’échelle 1:1, de sorte que les fonctionnalités puissent être activées et désactivées par blocs et testées.
- Utilisez des indicateurs dans les métadonnées de l’utilisateur pour éviter de dupliquer des opérations coûteuses ou ponctuelles.
- Commencez par la fin de votre pipeline de règles et remontez vers le bas; comme les règles actives s’exécutent avant les actions déployées, vous pouvez conserver une partie de la logique dans les règles pendant que vous construisez et testez d’autres logiques dans les actions.
- Veillez à effectuer les changements à un moment où l’impact et le traffic seront les plus faibles.
- Envisagez de personnaliser votre page de connexion temporairement pour interrompre les ouvertures de session si la conversion risque d’entraîner des ouvertures de session non valides ou des lacunes dans la protection.
- Envisagez d’utiliser l’outil Auth0 Deploy CLI afin de rédiger des scripts, de tester et de mettre en œuvre rapidement la migration en une seule fois ou de manière itérative.
Comprendre les limites
- Les Actions ne sont pas fournies avec un jeton d’accès pour Management API ou l’accès à l’objet
auth0global comme pour les Règles. Pour savoir comment les appels à Management API peuvent encore être effectués, veuillez consulter la section Conversion du code.
Conversion du code
Conseils pour la conversion du code
- En général, il faut rechercher les propriétés en lecture seule des objets de Rules (règles)
useretcontextdans l’objet d’Actionsevent (événement). Recherchez les effets secondaires de vos Actions sur le système (comme l’échec d’une connexion ou la mise à jour des métadonnées de l’utilisateur) dans les fonctions d’objetapi. - Utilisez l’Éditeur de code d’actions dans le Auth0 Dashboard pour écrire votre code; il vous aidera en mettant en évidence les erreurs et en fournissant des suggestions d’auto-remplissage.
- Avant de mettre en ligne, vous devez soigneusement tester vos nouvelles Actions dans un environnement d’essai ou de test.
Copier le code de la Règle dans une nouvelle Action
Nous vous recommandons de copier le code de votre règle dans une nouvelle Action et d’utiliser l’éditeur de code d’actions dans le Auth0 Dashboard; cela vous aidera à identifier les problèmes non résolus dans votre code.
- Connectez-vous à votre locataire de production et copiez le code de la Règle que vous souhaitez convertir.
- Passez à un locataire hors production et accédez à Auth0 Dashboard > Actions (Actions) > Library (Bibliothèque).
-
Sélectionner Build Custom (Construire une action personnalisée), puis :
- Saisissez un Name (Nom) pour votre action qui correspond au nom de la Règle que vous convertissez.
- Rendez-vous à Trigger (Déclencheur) et sélectionnez Login / Post Login (Connexion/post-connexion).
- Accédez à Durée d’exécution, et sélectionnez Node 22.
- Sélectionnez Create (Créer).
-
Dans le bloc de code de l’éditeur de code d’actions, collez le code de règle que vous souhaitez convertir sous la fonction exportée
onExecutePostLogin. - Apportez les modifications détaillées dans la suite de cet article à mesure que vous déplacez le code dans la fonction.
Modifier la déclaration de fonction
user, context, et callback tandis que les Actions utilisent une fonction exportée sous un nom particulier. Apportez la modification suivante; pour l’instant, ignorez les erreurs qui surviennent.
Avant
Modifier l’accès aux données utilisateur
user. Pour les Actions, ces données se trouvent dans la propriété user de l’objet event. La majorité des propriétés existantes sont accessibles dans ce nouvel emplacement.
Les données stockées ou modifiées dans les propriétés de l’objet
event ne sont pas accessibles par les autres Actions.Modifier l’accès aux données contextuelles
context. Pour les Actions, ces données ont été remodelées et déplacées vers l’objet event. De nombreuses propriétés ont été transférées telles quelles, tandis que d’autres ont été combinées pour plus de clarté.
Les données stockées ou modifiées dans les propriétés de l’objet
event ne sont pas accessibles par les autres Actions. Si votre Règle déclenche une fonctionnalité de base en définissant des données sur ces propriétés, comme context.idToken ou context.multifactor, veuillez lire l’une des sections ci-dessous qui correspond à votre cas d’utilisation.Convertir les dépendances
require. Les Actions utilisent une syntaxe CommonJS plus classique et exigent que les versions soient indiquées en dehors de l’éditeur de code.
Pour les Règles, seules des versions spécifiques de certains packages sont autorisées, tandis que l’ajout de nouveaux packages et de nouvelles versions nécessite une demande auprès d’Auth0. Pour les Actions, vous pouvez exiger n’importe quel package figurant dans le registre npm.
Si la version de vos modules
npm n’est pas la plus récente, c’est le bon moment pour se mettre à jour!- Rechercher les déclarations
requiredans le code de votre Règle. - Supprimez les numéros de version, après les avoir notés.
- Ajoutez la dépendance en suivant les étapes de la section « Ajouter une dépendance » de Write Your First Action (Programmer votre première Action) (si la dépendance n’est pas un module de base NodeJS; si la dépendance est un module NodeJS de base, vous n’avez pas besoin de l’inclure).
- Déplacez les déclarations
requireque vous avez trouvées en dehors de la déclarationfunction.
Convertir les rappels
callback() et transmettre une erreur en cas d’échec de la connexion. Inversement, les Actions peuvent renvoyer un message de réussite ou appeler une méthode api avec un message en cas d’échec de la connexion. Toutes les instances de callback() dans une Règle doivent être supprimées ou remplacées par api.access.deny() en cas d’échec. Utilisez une déclaration return pour les Règles et les Actions, si le traitement doit s’arrêter pour une raison particulière.
Avant
Modifier la gestion des secrets
- Enregistrez les valeurs nécessaires à l’action spécifique sur laquelle vous travaillez.
- Ajoutez un secret pour chaque valeur à laquelle vous devez accéder à l’intérieur de l’action. Pour en savoir plus, consultez la section Ajouter un secret dans Programmer votre première Action.
- Convertir votre code :
Convertir les revendications personnalisées en jetons
context tandis que les Actions utilisent une méthode de l’objet api.
Avant
Convertir le déclenchement multifacteur
multifacteur de l’objet context. Dans les Actions, cela se fait avec une méthode sur l’objet api.
Avant
Convertir les mises à jour des métadonnées utilisateur
user_metadata et app_metadata dans les Règles requiert un appel à Management API, ce qui peut entraîner des erreurs de limite anti-attaques. Les actions, en revanche, permettent d’indiquer plusieurs modifications de métadonnées utilisateur en n’appelant Management API qu’une seule fois.
Avant
api.user.setUserMetadata ou api.user.setAppMetadata. Dans les Actions, les appels multiples à ces fonctions dans le cadre d’une ou de plusieurs Actions se traduiront par un appel unique à Management API une fois le flux terminé.
Convertir d’autres appels de Management API
- Enregistrer une application de communication entre machines et autorisez-la à utiliser Management API.
- Enregistrer le Client ID (ID Client) et Client Secret (Secret du client) dans l’Action.
- Obtenir un jeton d’accès pour Management API.
- Appelez Management API :
Convertir les redirections
Expliquer comment faire toutes les redirections correctement dans Actions dépasse la portée de ce guide. Pour plus de détails, consultez Rediriger avec des Actions.
Convertir les références de clients SSO actuels
context.sso fournit des détails sur la session active et les clients qui l’utilisent. Pour en savoir plus, consultez l’entrée context.sso dans les Propriétés de l’objet contexte dans les règles. Vous trouverez des données comparables dans l’objet Actions, events.session.
Avant