Passer au contenu principal
La date de fin de vie (EOL) de Rules et Hooks est fixée au 18 novembre 2026, et ils ne sont plus offerts aux nouveaux locataires créés à compter du 16 octobre 2023. Les locataires existants avec des Hooks actifs conserveront l’accès au produit Hooks jusqu’à la fin de vie.Nous vous recommandons fortement d’utiliser Actions pour étendre les fonctionnalités d’Auth0. Avec Actions, vous avez accès à des informations de type détaillées, à de la documentation intégrée et à des packages npm publics, et vous pouvez connecter des intégrations externes qui améliorent votre expérience globale en matière d’extensibilité. Pour en savoir plus sur ce qu’offre Actions, consultez Comprendre le fonctionnement d’Auth0 Actions.Pour vous aider dans votre migration, nous offrons des guides pour migrer de Rules vers Actions et migrer de Hooks vers Actions. Nous avons également une page dédiée, Passer à Actions, qui présente des comparaisons de fonctionnalités, une démonstration d’Actions et d’autres ressources pour vous accompagner tout au long de votre migration.Pour en savoir plus sur la dépréciation de Rules et Hooks, consultez notre billet de blogue : Préparer la fin de vie de Rules et Hooks.
L’objet context stocke des renseignements contextuels sur la transaction d’authentification en cours, comme l’adresse IP de l’utilisateur, l’application ou l’emplacement. Si vous modifiez le contenu du jeton à l’aide de l’objet context dans une Rule, vos modifications seront reflétées dans les jetons une fois que toutes les Rules auront fini de s’exécuter. Si votre application exige aussi ou le consentement de l’utilisateur, l’utilisateur sera invité avant que les modifications apportées au jeton soient disponibles.

Propriétés

Les propriétés suivantes sont disponibles pour l’objet context.
PropriétéDescription
context.tenantUne chaîne contenant le nom du locataire.
context.clientIDL’ID client de l’application à laquelle l’utilisateur se connecte.
context.clientNameLe nom de l’application (tel que défini dans l’Auth0 Dashboard).
context.clientMetadataUn objet contenant d’autres propriétés de l’application. Ses clés et ses valeurs sont des chaînes.
context.connectionIDUne chaîne contenant l’identifiant unique de la connexion.
context.connectionLe nom de la connexion utilisée pour authentifier l’utilisateur (par exemple : twitter ou some-g-suite-domain)
context.connectionStrategyLe type de connexion. Pour une connexion sociale, connectionStrategy === connection. Pour les connexions d’entreprise, la stratégie est waad (Windows Azure AD), ad (Active Directory/LDAP), auth0 (connexions de base de données), et ainsi de suite.
context.connectionOptionsUn objet représentant les options définies pour la connexion. connectionOptions.tenant_domain est une chaîne contenant le domaine utilisé pour l’authentification dans le cas d’une connexion d’entreprise.
connectionOptions.domain_aliases est un tableau contenant les domaines facultatifs enregistrés comme alias, en plus du domaine principal (spécifié dans la propriété connectionOptions.tenant_domain).
context.connectionMetadataObjet représentant les métadonnées définies pour la connexion. Ses clés et ses valeurs sont des chaînes de caractères.
context.samlConfigurationUn objet qui contrôle le comportement des points de terminaison SAML et WS-Fed. Utile pour le mappage avancé des claims et l’enrichissement des jetons (disponible uniquement pour le protocole samlp et wsfed).
context.protocolLe protocole d’authentification. Valeurs possibles :
  • oidc-basic-profile : le plus utilisé, connexion sur le Web
  • oidc-implicit-profile : utilisé sur les appareils mobiles et les applications monopage
  • oauth2-device-code : transaction utilisant le flux d’autorisation d’appareil
  • oauth2-resource-owner : connexion par nom d’utilisateur et mot de passe, généralement utilisée avec les connexions de base de données
  • oauth2-resource-owner-jwt-bearer : connexion à l’aide d’un JWT de type bearer signé avec la clé privée de l’utilisateur
  • oauth2-password : connexion utilisant l’échange de mot de passe
  • oauth2-refresh-token : actualisation d’un jeton à l’aide de l’échange de jeton d’actualisation
  • samlp : protocole SAML utilisé avec les applications SaaS
  • wsfed : WS-Federation utilisé avec les produits Microsoft comme Office365
  • wstrust-usernamemixed : connexion par nom d’utilisateur et mot de passe WS-trust utilisée avec CRM et Office365
  • delegation : lors de l’appel du point de terminaison Delegation
  • redirect-callback : lors de la reprise d’une Rule de redirection
context.riskAssessmentUn objet contenant des scores spécifiques (faible, moyen, élevé, neutre) attribués aux évaluateurs de tentatives de connexion à haut risque. Consultez Personnaliser la MFA adaptative avec des Rules.
context.statsUn objet contenant certaines statistiques propres à l’utilisateur, comme stats.loginsCount. Notez qu’aucune des variables de compteur renvoyées dans l’objet stats n’augmente pendant l’authentification silencieuse (par exemple lorsque prompt=none). Il existe aussi des scénarios où les variables de compteur peuvent augmenter sans qu’une Rule ou qu’un ensemble de Rules ne s’exécute, comme dans le cas d’une authentification inter-origine réussie suivie d’une demande de jeton échouée.
context.ssoCet objet contiendra des renseignements sur la transaction d’authentification unique (SSO) (s’il y a lieu)
  • with_auth0 : lorsqu’un utilisateur ouvre une session avec le SSO dans une application où le paramètre Use Auth0 instead of the IdP to do Single Sign-On est activé (uniquement pour les locataires Legacy).
  • with_dbconn : une connexion SSO pour un utilisateur qui s’est connecté au moyen d’une connexion de base de données.
  • current_clients : les ID client qui utilisent le SSO.
context.accessTokenUn objet représentant les options définies pour le Jeton d’accès. Vous pouvez utiliser cet objet pour ajouter des claims personnalisées dans un espace de noms au Jeton d’accès. context.accessToken.scope peut être utilisé pour modifier les scopes renvoyés dans le Jeton d’accès. Lorsqu’il est fourni, il s’agit d’un tableau contenant des permissions sous forme de chaînes de caractères. Les claims personnalisées seront incluses dans le Jeton d’accès après l’exécution de toutes les Rules.
context.idTokenObjet représentant les options définies pour le ID Token. Sert à ajouter des claims personnalisées avec espace de noms à l’ID Token. Les claims personnalisées seront incluses dans l’ID Token après l’exécution de toutes les Rules.
context.multifactorUn objet représentant les paramètres MFA utilisés dans la mise en place de la MFA contextuelle.
context.redirectL’objet utilisé pour mettre en place la redirection d’un utilisateur depuis une Rule.
context.sessionIDUn identifiant interne de la session d’authentification. La valeur n’est conservée que si prompt=none est utilisé dans la requête d’autorisation. Notez que l’identifiant de session peut changer après l’exécution de la Rule dans d’autres flux; la valeur disponible dans context.sessionID pourrait donc ne pas correspondre au nouvel identifiant de session que l’utilisateur recevra. Cette valeur n’a donc de sens que lorsque prompt=none est utilisé.
context.requestUn objet contenant des renseignements utiles sur la requête. Il peut aussi être défini à undefined. Il possède les propriétés suivantes :
  • userAgent : l’agent utilisateur de l’application qui tente de se connecter.
  • ip : l’adresse IP d’origine de l’utilisateur qui tente de se connecter. Nous exposons des adresses IPv6 dans nos points de terminaison publics (par exemple, travel0.us.auth0.com). Si une requête provient d’une machine compatible avec IPv6, cette propriété contiendra une adresse IPv6. Si vous manipulez manuellement des adresses IP, nous vous suggérons d’utiliser la bibliothèque ipaddr.js@1.9.0.
  • hostname : le nom d’hôte utilisé pour le flux d’authentification.
  • query : un objet contenant les propriétés de la chaîne de requête de la transaction de connexion envoyée par l’application.
  • body : le corps de la requête POST dans les transactions de connexion utilisées avec les protocoles oauth2-resource-owner, oauth2-resource-owner-jwt-bearer ou wstrust-usernamemixed.
  • geoip : un objet contenant des renseignements géographiques liés à l’adresse IP. Il possède les propriétés suivantes :
    • country_code : un code à deux caractères du pays associé à l’adresse IP.
    • country_code3 : un code à trois caractères du pays associé à l’adresse IP.
    • country_name : le nom du pays associé à l’adresse IP.
    • city_name : le nom de la ville ou de la localité associée à l’adresse IP.
    • latitude : la latitude associée à l’adresse IP.
    • longitude : la longitude associée à l’adresse IP.
    • time_zone : le fuseau horaire associé à l’adresse IP.
    • continent_code : un code à deux caractères du continent associé à l’adresse IP.
    • subdivision_code : le code ISO 3166-2 de la subdivision ou région de premier niveau.
    • subdivision_name : le nom anglais de cette subdivision ou région.
context.primaryUserL’id unique du compte principal de l’utilisateur. Utilisé pour lier des comptes d’utilisateur issus de divers fournisseurs d’identité.
context.authenticationUn objet contenant des informations liées à la transaction d’authentification avec les propriétés suivantes :

methods : un tableau d’objets contenant les méthodes d’authentification qu’un utilisateur a effectuées pendant sa session. Par exemple, un utilisateur qui a effectué une authentification par mot de passe suivie d’une MFA peut avoir les méthodes suivantes :
json lines [ { "name": "pwd", "timestamp": 1434454643024 }, { "name": "mfa", "timestamp": 1534454643881 } ]
Les objets de méthode contiennent les propriétés suivantes :
  • name : une chaîne qui représente le nom de la méthode d’authentification effectuée. Elle peut prendre l’une des valeurs suivantes (d’autres valeurs pourraient être prises en charge à l’avenir) :
    • federated : une connexion sociale ou d’entreprise a été utilisée pour authentifier l’utilisateur
    • pwd : une connexion de base de données a été utilisée pour authentifier l’utilisateur
    • sms : une connexion SMS Passwordless a été utilisée pour authentifier l’utilisateur
    • email : une connexion Passwordless par courriel a été utilisée pour authentifier l’utilisateur
    • mfa : l’utilisateur a effectué une authentification multifacteur
  • timestamp : un entier indiquant l’heure, en secondes, à laquelle la méthode d’authentification a eu lieu au format Unix Epoch
Vous pouvez consulter un exemple de cas d’utilisation de la propriété context.authentication.methods dans la Rule Require MFA once per session.
context.authorizationUn objet contenant des informations relatives à la transaction d’autorisation avec les propriétés suivantes :
context.organizationObjet contenant des informations sur l’organisation. Comprend les propriétés suivantes :
  • id : chaîne contenant l’ID de l’organisation à laquelle l’utilisateur se connecte.
  • name : chaîne contenant le nom de l’organisation (tel qu’il est défini dans l’Auth0 Dashboard).
  • metadata : dictionnaire de paires clé-valeur de chaînes contenant d’autres propriétés de l’organisation.

En savoir plus