@auth0/actions est la bibliothèque d’actions officielle qui facilite les définitions TypeScript des actions Auth0. Vous pouvez ainsi coder et tester les actions de votre projet dans des éditeurs externes et des IDE.
Avantages
Cette bibliothèque vous aide dans les cas d’utilisation suivants :- Assistance IDE/éditeur de code : en référençant cette bibliothèque, les IDE et les éditeurs de code peuvent assister les développeurs dans leur travail de codage grâce à des outils tels que le remplissage automatique, les définitions d’objets et de fonctionnalités, ainsi que la vérification des erreurs.
- Développement TypeScript : bien que les actions soient toujours codées et fonctionnent à l’aide de Node.js CommonJS, cette bibliothèque permet le développement d’actions sur des projets externes à l’aide de TypeScript, qui peuvent ensuite être créées et déployées en tant que Common JS sur le locataire Auth0.
- Améliorations des tests unitaires : en permettant le développement TypeScript sur des projets externes, cette bibliothèque permet aux développeurs de suivre les pratiques exemplaires et d’améliorer leurs tests unitaires sur la base des définitions TypeScript.
- Génération d’actions par l’IA : cette bibliothèque nous rapproche de l’objectif de permettre à l’IA de générer des exemples d’actions plus pertinents.
Le fonctionnement
Installation
Veuillez utiliser l’un des gestionnaires de packages suivants pour installer le package en tant que dépendance de développement :Le package doit être utilisé comme dépendance de développement pour enrichir vos outils de développement.
- NPM :
npm install @auth0/actions --save-dev - Yarn :
yarn add @auth0/actions --dev - Pnpm :
pnpm add @auth0/actions --save-dev
Importer
La bibliothèque a la structure suivante :@auth0/actions/[trigger_name]/[trigger_version]
Par exemple : @auth0/actions/post-login/v3
Utilisez une des options suivantes pour importer les définitions TypeScript dans vos actions, en fonction de votre technologie :
Utilisez cette option lorsque vous souhaitez utiliser IntelliSense sans modifier la structure de votre code JavaScript existant :
- JSDoc @import
- JSDoc @param
- TypeScript import
Utilisez cette option lorsque vous souhaitez utiliser IntelliSense sans modifier la structure de votre code JavaScript existant :
Exemples
Les exemples d’actions suivants sont intentionnellement présentés à la fois en JavaScript et en TypeScript afin de permettre une comparaison directe et côte à côte.Configuration
- JavaScript
- TypeScript
Dans votre
package.json, définissez toutes les dépendances de développement afin d’obtenir l’aide d’IntelliSense lors de la rédaction de votre action :Contrôle d’accès postconnexion et demandes personnalisées de jetons d’identification
L’action de l’exemple suivant s’exécute pendant le flux postconnexion. Cette action vérifie si l’utilisateur dispose de rôles attribués et appelleapi.access.deny() si aucun n’est trouvé. Si des rôles sont présents, elle procède à la définition de la demande personnalisée sur le jeton d’identification.
L’instruction d’import indique que des types externes peuvent être utilisés dans votre code. Cela permet à l’éditeur de connaître la structure des objets event et api.
- JavaScript
- TypeScript