Propriétés de l’objet contexte dans les règles

L’objet context stocke des informations contextuelles sur la transaction d’authentification en cours, telles que l’adresse IP, l’application ou la localisation de l’utilisateur.

Si vous changez le contenu du jeton en utilisant l’objet « context » au sein d’une règle, vos modifications seront disponibles sous forme de jetons une fois que toutes les règles auront été exécutées. Si votre application nécessite également une authentification multifacteur (MFA) ou le consentement de l’utilisateur, ce dernier sera invité à le faire avant que les modifications du jeton ne soient disponibles.

Propriétés

Les propriétés suivantes sont disponibles pour l’objet context dans les règles.

Propriété Description
context.tenant Une chaîne contenant le nom du locataire
context.clientID L’identifiant client de l’application dans laquelle l’utilisateur se connecte.
context.clientName Le nom de l’application (tel que défini dans le tableau de bord).
context.clientMetadata Un objet qui contient les autres propriétés d’une application. Ses clés et ses valeurs sont des chaînes.
context.connectionID Une chaîne contenant l’identifiant unique de la connexion.
context.connection Le nom de la connexion utilisée pour authentifier l’utilisateur (par exemple twitter ou some-g-suite-domain)
context.connectionStrategy Le type de connexion. Pour la connexion sociale connectionStrategy === connection. Pour les connexions d’entreprise, la stratégie sera waad (Windows Entra ID), ad (Active Directory/LDAP), auth0 (connexions de base de données), etc.
context.connectionOptions Un objet représentant les options définies sur la connexion. connectionOptions.tenant_domain est une chaîne contenant le domaine utilisé pour l’authentification lors de l’utilisation d’une connexion Entreprise.
connectionOptions.domain_aliases est un tableau contenant les domaines optionnels enregistrés comme alias en plus du domaine primaire (spécifié dans la propriété connectionOptions.tenant_domain).
context.connectionMetadata Un objet représentant les métadonnées définies sur la connexion. Ses clés et ses valeurs sont des chaînes.
context.samlConfiguration Un objet qui contrôle le comportement des points de terminaison SAML et WS-Fed. Utile pour le mappage avancé des réclamations et l’enrichissement des jetons (disponible uniquement pour les protocoles samlp et wsfed)
context.protocol Le protocole d’authentification. Valeurs possibles :
  • oidc-basic-profile : le plus utilisé, connexion web
  • oidc-implicit-profile : utilisé sur les appareils mobiles et applications monopages
  • oauth2-device-code : transaction utilisant le flux d’autorisation d’appareil
  • oauth2-resource-owner : connexion par nom d’utilisateur/mot de passe (typique pour les connexions à la base de données)
  • oauth2-resource-owner-jwt-bearer : connexion utilisant un JWT porteur 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 via l’échange de jeton d’actualisation
  • samlp : Protocole SAML utilisé sur les applications SaaS
  • wsfed : WS-Federation utilisé sur les produits Microsoft comme Office 365
  • wstrust-usernamemixed : Authentification WS-Trust par identifiant/mot de passe (utilisée dans les CRM et Office 365)
  • delegation : lors de l’appel au point de terminaison de délégation
  • redirect-callback : lors de la reprise d’une règle de redirection
context.riskAssessment Objet contenant des scores spécifiques (faible, moyen, élevé, neutre) pour les évaluateurs de tentatives de connexion à risque élevé. Voir Personnaliser l’authentification multifacteur (MFA) adaptative avec des règles.
context.stats Un objet contenant des statistiques spécifiques sur l’utilisateur, comme stats.loginsCount. Notez que les variables de compteur renvoyées dans le cadre de l’objet stats n’augmentent pas pendant l’authentification silencieuse (comme lorsque prompt=none). Il existe également des scénarios dans lesquels les variables du compteur peuvent augmenter alors qu’une règle ou un ensemble de règles n’est pas exécuté, comme dans le cas d’une authentification cross-origin réussie suivie d’une demande de jeton qui échoue.
context.sso Cet objet contiendra des informations sur la transaction d’authentification unique (SSO), si disponibles
  • with_auth0 : lorsqu’un utilisateur se connecte via SSO à une application où le paramètre Use Auth0 instead of the IdP to do Single Sign-On est activé (uniquement pour les locataires hérités).
  • with_dbconn : une connexion SSO pour un utilisateur qui s’est connecté via une connexion à la base de données.
  • current_clients : ID clients utilisant le SSO.
context.accessToken Un objet représentant les options définies sur le jeton d’accès . Vous pouvez utiliser cet objet pour ajouter des demandes personnalisées d’espace de noms au jeton d’accès. context.accessToken.scope peut être utilisé pour modifier les permissions renvoyées par le jeton d’accès. Lorsqu’il est fourni, il s’agit d’un tableau contenant les autorisations au format chaîne de caractères. Les demandes personnalisées seront incluses dans le jeton d’accès une fois que toutes les règles auront été exécutées.
context.idToken Un objet représentant les options définies sur le jeton d’ID. Utilisé pour ajouter des demandes personnalisées avec espace de noms au jeton d’ID. Les demandes personnalisées seront incluses dans le jeton d’ID une fois que toutes les règles auront été exécutées.
context.multifactor Objet représentant les paramètres multifacteurs utilisés pour la mise en œuvre de MFA contextuelle.
context.redirect L’objet utilisé pour mettre en œuvre la redirection d’un utilisateur à partir d’une règle.
context.sessionID Identification interne de la session d’authentification. La valeur n’est conservée que si prompt=none est utilisé dans la demande d’autorisation. Notez que l’ID de session peut changer après l’exécution de la règle sur d’autres flux, de sorte que la valeur disponible dans context.sessionID peut ne pas correspondre au nouvel ID de session que l’utilisateur recevra. Cette valeur n’a de sens que lorsque prompt=none est utilisé.
context.request Un objet contenant des informations utiles sur la demande. Il peut également être défini comme suit : 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 source de l’utilisateur tentant de se connecter. Nous exposons les adresses IPv6 sur nos points de terminaison publics (p. ex., travel0.us.auth0.com). Si une demande provient d’une machine qui prend en charge IPv6, elle 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 pour les transactions de connexion utilisant les protocoles oauth2-resource-owner, oauth2-resource-owner-jwt-bearer ou wstrust-usernamemixed.
  • geoip : objet contenant des informations géographiques sur l’IP. Il possède les propriétés suivantes :
    • country_code : un code à deux caractères pour le pays associé à l’adresse IP.
    • country_code3 : un code à trois caractères pour le pays associé à l’adresse IP.
    • country_name : le nom du pays associé à l’adresse IP.
    • city_name : le nom de la ville associé à 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 pour le continent associé à l’adresse IP.
    • subdivision_code : le code ISO 3166-2 de la subdivision/région de premier niveau.
    • subdivision_name : Le nom anglais de cette subdivision/région.
context.primaryUser L’identifiant unique du compte principal de l’utilisateur. Utilisé pour relier les comptes d’utilisateurs de différents fournisseurs d’identité.
context.authentication Un objet contenant des informations relatives à la transaction d’authentification avec les propriétés suivantes :

methods : un tableau des objets contenant les méthodes d’authentification utilisées par un utilisateur au cours de sa session. Par exemple, un utilisateur qui a effectué une authentification par mot de passe suivie d’une authentification multifacteur peut disposer des méthodes suivantes :
[
  {
    "name": "pwd",
    "timestamp": 1434454643024
  },
  {
    "name": "mfa",
    "timestamp": 1534454643881
  }
]

Was this helpful?

/

Les objets de méthode contiendront les propriétés suivantes :
  • name : une chaîne de caractères représentant le nom de la méthode d’authentification qui a été complétée. Il peut s’agir de l’une des valeurs suivantes (d’autres valeurs pourront être prises en charge à l’avenir) :
    • federated : une connexion sociale ou d’entreprise a été utilisée pour authentifier l’utilisateur
    • pwd : une connexion à une base de données a été utilisée pour authentifier l’utilisateur
    • sms : une connexion sans mot de passe par SMS a été utilisée pour authentifier l’utilisateur
    • email : une connexion sans mot de passe par courriel a été utilisée pour authentifier l’utilisateur
    • mfa : l’utilisateur a complété une authentification multifacteur
  • timestamp : un entier indiquant le moment (en secondes) où la méthode d’authentification a eu lieu, en époque Unix

Vous pouvez voir un exemple d’utilisation de la propriété context.authentication.methods dans la règle Exiger une authentification multifacteur une fois par session.

context.authorization Un objet contenant des informations relatives à la transaction d’autorisation avec les propriétés suivantes :
  • roles : un tableau de chaînes contenant les noms des rôles attribués à un utilisateur. Vous pouvez voir un exemple de cas d’utilisation utilisant la propriété context.authorization.roles pour ajouter des rôles aux jetons dans exemples de cas d’utilisation : Règles avec autorisation.
context.organization Objet contenant des informations relatives à l’organisation. Comprend les propriétés suivantes :
  • id : Chaîne contenant l’ID de l’organisation avec laquelle l’utilisateur se connecte.
  • name : Chaîne contenant le nom de l’organisation (tel que défini dans Auth0 Dashboard).
  • metadata : Dictionnaire de paires clé/valeur de chaînes contenant d’autres propriétés de l’organisation.

En savoir plus