post-login) du flux de connexion. Si vous suivez les étapes ci-dessous et conservez vos Actions dans le même ordre que vos Rules d’origine, vous devriez obtenir un comportement identique.
Planifiez votre migration
Conseils pour planifier votre migration
- Maintenez une correspondance 1:1 entre vos Actions et vos Rules, afin de pouvoir activer, désactiver et tester les fonctionnalités par blocs.
- Utilisez des indicateurs dans les métadonnées utilisateur pour éviter de dupliquer des opérations coûteuses ou ponctuelles.
- Commencez à la fin de votre pipeline de Rules et remontez vers le début; comme les Rules actives s’exécutent avant les Actions déployées, vous pouvez conserver une partie de la logique dans les Rules pendant que vous développez et testez d’autres parties dans les Actions.
- Assurez-vous d’effectuer les changements à un moment où l’impact et le trafic seront au plus bas.
- Envisagez de personnaliser temporairement votre page de connexion pour interrompre les connexions si le basculement risque d’entraîner des connexions invalides ou des interruptions de protection.
- Envisagez d’utiliser Auth0 Deploy CLI pour automatiser par script, tester et mettre en œuvre rapidement la migration en une seule fois ou de façon itérative.
Comprendre les limites
- Les Actions ne disposent pas d’un jeton d’accès pour la Management API ni de l’accès à l’objet global
auth0, comme c’est le cas avec les Rules. Pour savoir comment effectuer malgré tout des appels à la Management API, consultez la section Convert Code.
Convertir le code
Conseils pour convertir le code
- En général, repérez les propriétés en lecture seule des objets Rules
useretcontextdans l’objeteventd’Actions. Repérez les effets secondaires de vos Actions sur le système (comme faire échouer une connexion ou mettre à jour les métadonnées de l’utilisateur) dans les fonctions de l’objetapi. - Utilisez l’éditeur de code Actions dans l’Auth0 Dashboard pour écrire votre code; il vous aidera à repérer les erreurs et à obtenir des suggestions d’autocomplétion.
- Avant la mise en production, testez soigneusement vos nouvelles Actions dans un environnement de préproduction ou de test.
Copier le code d’une Rule dans une nouvelle Action
Nous vous recommandons de copier le code de votre Rule dans une nouvelle Action et d’utiliser l’éditeur de code Actions dans Auth0 Dashboard; il vous aidera à repérer les problèmes restants dans votre code.
- Connectez-vous à votre locataire de production et copiez le code de la Rule que vous souhaitez convertir.
- Passez à un locataire hors production, puis accédez à Auth0 Dashboard > Actions > Library.
-
Sélectionnez Build Custom, puis :
- Saisissez un nom pour votre Action qui correspond au nom de la Rule que vous convertissez.
- Repérez Trigger, puis sélectionnez Login / Post Login.
- Repérez Runtime, puis sélectionnez Node 16.
- Sélectionnez Create.
-
Dans le bloc de code de l’éditeur de code Actions, collez le code de la Rule que vous souhaitez convertir sous la fonction exportée
onExecutePostLogin. - Apportez les modifications décrites dans le reste de cet article au fur et à mesure que vous déplacez le code dans la fonction.
Modifier la déclaration de la fonction
user, context et callback, tandis que les Actions utilisent une fonction exportée sous un nom précis. Apportez la modification suivante; pour l’instant, ignorez les erreurs qui s’affichent.
Avant
Modifier la façon d’accéder aux données de l’utilisateur
objet user. Dans Actions, ces données se trouvent dans la propriété user de l’objet event. La plupart des propriétés existantes sont accessibles à ce nouvel emplacement.
Les données stockées ou modifiées dans des propriétés de l’objet
event ne sont pas accessibles dans d’autres Actions.Modifier la façon d’accéder aux données de contexte
context. Dans Actions, ces données ont été réorganisées et déplacées vers l’objet event. Bon nombre des propriétés ont été conservées telles quelles, mais certaines ont été regroupé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 dans d’autres Actions. Si votre Rule déclenche une fonctionnalité principale en définissant des données dans ces propriétés, comme context.idToken ou context.multifactor, veuillez consulter l’une des sections ci-dessous correspondant à votre cas d’utilisation.Convertir les dépendances
require. Les Actions utilisent une syntaxe CommonJS plus standard et exigent que les versions soient indiquées à l’extérieur de l’éditeur de code.
Dans les Rules, seules certaines versions de certains packages sont autorisées, et l’ajout de nouveaux packages et de nouvelles versions nécessite une demande auprès d’Auth0. Dans les Actions, vous pouvez utiliser require avec n’importe quel package disponible dans le registre npm.
Si vos modules
npm ne sont pas à la plus récente version, c’est le moment idéal pour les mettre à jour!- Recherchez les instructions
requiredans le code de votre Rule. - Supprimez les numéros de version, mais prenez-en note.
- Ajoutez la dépendance en suivant les étapes de la section “Ajouter une dépendance” de Write Your First Action (si la dépendance n’est pas un module NodeJS de base; si la dépendance est un module NodeJS de base, vous n’avez pas besoin de l’inclure).
- Déplacez les instructions
requiretrouvées à l’extérieur de la déclarationfunction:
Convertir les fonctions de rappel
callback() et transmettre une erreur si l’authentification échoue. À l’inverse, les Actions peuvent simplement utiliser return en cas de succès, ou appeler une méthode api avec un message si l’authentification échoue. Toutes les occurrences de callback() dans une Rule doivent être supprimées ou remplacées par api.access.deny() en cas d’échec. Dans les Rules comme dans les Actions, si le traitement doit s’arrêter en raison d’une condition particulière, utilisez une instruction return.
Avant
Modifier la gestion des secrets
- Enregistrez les valeurs nécessaires pour l’Action sur laquelle vous travaillez.
- Ajoutez un Secret pour chaque valeur à laquelle vous devez accéder dans l’Action. Pour savoir comment faire, consultez la section Add a Secret dans Write Your First Action.
- Convertissez votre code :
Convertir les claims personnalisées dans les jetons
context, tandis que les Actions utilisent une méthode de l’objet api.
Avant
Convertir le déclenchement de l’authentification multifacteur
multifactor de l’objet context. Dans Actions, cela se fait à l’aide d’une méthode de l’objet api.
Avant
Convertir les mises à jour des métadonnées de l’utilisateur
user_metadata et app_metadata dans Rules nécessite un appel à la Management API, ce qui peut entraîner des erreurs de limite de débit. Actions permet toutefois d’indiquer plusieurs modifications aux métadonnées de l’utilisateur tout en n’appelant la Management API qu’une seule fois.
Avant
api.user.setUserMetadata ou api.user.setAppMetadata. Dans Actions, plusieurs appels à ces fonctions, dans une ou plusieurs Actions, se traduiront par un seul appel à la Management API une fois le flux terminé.
Convertir d’autres appels à la Management API
- Enregistrez une application Machine-to-Machine et autorisez-la pour la Management API.
- Enregistrez l’ID client et le Secret client dans l’Action.
- Obtenez un jeton d’accès pour la Management API.
- Appelez la Management API :
Convertir les redirections
La mise en œuvre correcte de toutes les redirections dans Actions sort du cadre de ce guide. Pour en savoir plus, consultez Redirect with Actions.
Convertir les références aux applications SSO actuelles
context.sso fournit des détails sur la session en cours et les applications qui l’utilisent. Pour en savoir plus, consultez l’entrée context.sso dans Propriétés de l’objet Context dans Rules. Des informations similaires sont disponibles dans l’objet Actions event.session.
Avant