Pourquoi automatiser les flux de travail liés à l’identité
- Intégrer de nouveaux employés à plusieurs applications métier dès qu’ils sont provisionnés dans votre IdP.
- Propager les changements d’identité à plusieurs systèmes en aval en une seule étape.
- Supprimer les accès dans les systèmes en aval lorsqu’un utilisateur est supprimé.
- Éliminer les étapes manuelles des processus qui dépendent des événements du cycle de vie de l’identité.
Aperçu de l’architecture
- IdP d’entreprise (par exemple, Okta) — la source de référence pour les identités des employés.
- Auth0 Inbound SCIM — reçoit les événements de provisionnement provenant de l’IdP et crée ou met à jour des utilisateurs dans Auth0.
- Flux d’événements avec une Action Auth0 — surveille les événements du cycle de vie des utilisateurs et exécute du code côté serveur.
- Plusieurs systèmes externes — les destinations qui reçoivent les données transformées. Cet exemple cible un CRM (HubSpot) et un canal de notification d’équipe (Slack).
- Un administrateur attribue un utilisateur à une application dans l’IdP d’entreprise.
- L’IdP transmet la modification à Auth0 via SCIM.
- Auth0 crée ou met à jour le profil de l’utilisateur, puis publie un événement.
- Le flux d’événements déclenche une Action qui appelle plusieurs API externes.
La différence entre l’orchestration et la corrélation tient au nombre de systèmes en aval. La corrélation associe un événement à un seul enregistrement externe. L’orchestration propage un même événement vers plusieurs systèmes dans le cadre d’un flux de travail plus large.
Prérequis
- Un locataire Auth0 avec les événements activés. Pour en savoir plus sur la disponibilité selon le forfait, consultez Create an flux d’événements.
- Un IdP d’entreprise qui prend en charge le provisionnement SCIM (par exemple, Okta ou Microsoft Entra ID).
- Inbound SCIM d’Auth0 configuré pour la connexion concernée. Pour en savoir plus, consultez Inbound SCIM.
- Des informations d’identification d’API pour chaque système externe. Cet exemple nécessite :
- Un jeton d’accès d’une application privée HubSpot avec le scope d’écriture des contacts.
- Une URL de webhook entrant Slack pour le canal cible.
Configurer le provisionnement SCIM
- Okta
- Autres IdP
- Dans Auth0 Dashboard, accédez à Authentication > Enterprise et sélectionnez votre connexion d’entreprise SAML ou OIDC.
- Sélectionnez l’onglet Provisioning et activez Inbound SCIM.
- Générez un jeton SCIM et copiez-le.
- Dans Okta, ouvrez l’application que vous utilisez pour la fédération avec Auth0.
- Sélectionnez l’onglet Provisioning, puis Configure API Integration.
- Activez l’intégration, collez l’URL du point de terminaison SCIM d’Auth0 ainsi que le jeton, puis sélectionnez Save.
- Sous To App, activez Create Users, Update User Attributes et Deactivate Users.
Créer l’Action du flux d’événements
user.created, user.updated et user.deleted. Ensuite, créez un flux d’événements avec une Action Auth0 qui diffuse ces événements vers plusieurs systèmes en aval.
Créer le flux d’événements
- Accédez à Auth0 Dashboard > Event Streams.
- Sélectionnez Create Event Stream.
- Sélectionnez Auth0 Actions comme type de flux.
- Entrez un nom descriptif (par exemple,
Onboarding Workflow). - Abonnez-vous à
user.created,user.updatedetuser.deleted.
Écrire le gestionnaire de l’Action
Gérer les échecs partiels
- Consigner et continuer. Encapsulez chaque appel externe dans un bloc try-catch afin qu’un échec dans un système n’empêche pas les autres de s’exécuter. Consignez l’erreur pour assurer un suivi manuel.
- Réessayer avec des opérations idempotentes. Si l’Action génère une erreur, Auth0 réessaie l’événement. Assurez-vous que chaque appel externe est idempotent afin que les nouvelles tentatives ne créent pas d’enregistrements en double.
- Utiliser des disjoncteurs. Si un système externe échoue de façon répétée, envisagez d’interrompre les appels vers ce système pour éviter des délais en cascade.
Enregistrer les clés API comme secrets
- Dans l’éditeur d’Action, sélectionnez Secrets (l’icône en forme de clé).
- Ajoutez un secret nommé
HUBSPOT_TOKENavec comme valeur le jeton d’accès de votre application privée HubSpot. - Ajoutez un secret nommé
SLACK_WEBHOOK_URLavec comme valeur l’URL de votre webhook entrant Slack.
Enregistrer et déployer
Vérifier le pipeline
- Dans votre IdP d’entreprise, assignez un utilisateur de test à l’application connectée à Auth0.
- Vérifiez que l’utilisateur apparaît dans Auth0, sous User Management > Users.
- Vérifiez qu’un contact correspondant est créé dans HubSpot et qu’une notification est publiée dans Slack.
- Mettez à jour le nom de l’utilisateur dans l’IdP et vérifiez que la modification se répercute dans Auth0 et HubSpot.
- Retirez l’utilisateur de l’application dans l’IdP. Vérifiez que l’utilisateur est déprovisionné dans Auth0, que le contact HubSpot est supprimé et qu’une notification est publiée dans Slack.
Étendre ce modèle
- CRM + gestion de tickets — créez un contact Salesforce et ouvrez un ticket d’intégration dans Jira.
- CRM + analyse — mettez à jour un contact HubSpot et envoyez un appel
identifyà Segment. - Provisionnement + notifications — appelez un service de provisionnement interne et publiez un message dans Microsoft Teams.