Profils utilisateurs
Pour accéder à l’une des applications de votre locataire, chaque utilisateur doit avoir un profil dans le locataire. Les profils utilisateurs contiennent des informations sur vos utilisateurs, telles que leur nom et leurs coordonnées. Vous pouvez gérer les profils utilisateurs dans Auth0 Dashboard et avec Management API Auth0.
Sources de données utilisateur
Les données utilisateur peuvent provenir de nombreuses sources, y compris vos propres bases de données ainsi que des fournisseurs d’identités sociale, légale et de l’entreprise. Parmi les exemples, on peut citer Google, Facebook, Active Directory ou SAML. Vous pouvez normaliser les données utilisateur provenant de n’importe quelle source de données prise en charge.
Les attributs de profil utilisateur peuvent inclure des informations provenant du fournisseur d’identité. Voici des exemples :
Données utilisateur de... | Peuvent inclure... |
---|---|
Employeur actuel ou diplômes obtenus | |
Image de profil, date de naissance ou situation de couple | |
Entra ID | Numéro d’employé, intitulé de poste ou service |
Auth0 fait référence à toutes les sources de données utilisateur en tant que connexions, car Auth0 s’y connecte pour authentifier l’utilisateur.
Normalisation des données utilisateur
Auth0 prend en charge une variété de fournisseurs d’identité et de connexions de base de données. Chaque connexion peut renvoyer un ensemble différent d’attributs utilisateur. Il arrive que des connexions différentes utilisent des noms différents pour le même attribut. Par exemple, la valeur surname
d’une connexion peut être last_name
et family_name
dans d’autres sources de données utilisateur.
Pour gérer cette complexité, Auth0 fournit un profil utilisateur normalisé, une norme spécifique à Auth0 pour le stockage des données utilisateur.
Mappage des attributs de profil utilisateur
Connecteur AD/LDAP
Pour Active Directory ou toute autre connexion LDAP utilisant le connecteur AD/LDAP Auth0, il existe un mécanisme permettant de faire correspondre les attributs de profil utilisateur dans le service d’annuaire au profil utilisateur normalisé d’Auth0. Un fichier profileMapper.js
, situé dans le répertoire d’installation du connecteur AD/LDAP, met en correspondance les attributs lorsqu’un utilisateur s’authentifie.
Affirmations SAML
Si votre application utilise le protocole SAML pour communiquer avec Auth0, l’un des deux mécanismes suivants permet de faire correspondre les attributs utilisateur au profil utilisateur normalisé d’Auth0 :
Si Auth0 est un... | Alors... |
---|---|
Prestataire de Services SAML | Utilisez l’onglet de mappages de la connexion SAML pour mapper les attributs provenant d’un IDP aux attributs dans le profil utilisateur Auth0 : Allez à Dashboard > Authentication (Authentification) > Enterprise (Entreprise) > SAMLP. Cliquez sur le nom de la connexion SAML et cliquez sur Mappages. |
Fournisseur d’identité SAML | Utilisez l’onglet Settings (Paramètres) des modules complémentaires d’application pour mapper les attributs du profil utilisateur Auth0 aux attributs dans l’assertion SAML renvoyée au fournisseur de services : Allez à Dashboard > Applications. Cliquez sur le nom de votre application, cliquez sur Modules complémentaires, puis cliquez sur l'application Web SAML2. |
Association de comptes
Les utilisateurs peuvent se connecter à une application en utilisant initialement une connexion (telle qu’une base de données personnalisée), puis se connecter ultérieurement en utilisant une autre connexion (telle que Facebook). Dans ce cas, la valeur user_id
de la deuxième authentification est différente de la valeur user_id
de la première authentification.
Auth0 fournit un mécanisme permettant d’associer les deux comptes. Lorsque Auth0 associe les deux comptes, il stocke deux éléments dans la section de tableau identities
du profil utilisateur, un pour chaque connexion.
Auth0 ne fusionne pas les attributs de profil utilisateur provenant de plusieurs fournisseurs. Auth0 extrait les attributs de profil utilisateur de base à partir du premier fournisseur utilisé.
Pour en savoir plus, lisez Association de comptes d’utilisateur.
Mise en cache des profils utilisateurs
Auth0 met en cache le profil utilisateur reçu d’une connexion avant de le transmettre à l’application appelante. Ce cache se trouve dans la base de données Auth0. Chaque fois que l’utilisateur s’authentifie, Auth0 met à jour le cache. Pour en savoir plus, consultez Mise à jour des profils utilisateur à l’aide de votre base de données.
Données personnalisées du profil utilisateur
Auth0 vous permet de stocker des métadonnées, qui sont des données relatives à chaque utilisateur qui ne proviennent pas du fournisseur d’identité. Vous pouvez utiliser user_metadata
pour stocker des attributs personnalisés tels que la couleur préférée de l’utilisateur ou son loisir.
Modifier les données du profil utilisateur
Vous pouvez modifier les informations du profil d’un utilisateur de plusieurs façons.
Permissions : Les flux d’authentification pris en charge par Auth0 incluent un paramètre optionnel qui permet de spécifier une permission. Il contrôle les informations relatives au profil utilisateur (demandes) incluses dans le jeton d’ID (JWT).
Auth0 Dashboard : Le Tableau de bord vous permet de modifier manuellement les parties
user_metadata
etapp_metadata
du profil d’un utilisateur.Management API : Vous pouvez lire, mettre à jour et supprimer les profils utilisateurs stockés dans la base de données Auth0.
Scripts de base de données personnalisés : Si vous utilisez une base de données personnalisée comme connexion, vous pouvez écrire des scripts pour mettre en œuvre les événements du cycle de vie tels que la création, la connexion, la vérification, la suppression et le changement de mot de passe. Auth0 fournit des modèles pour ces scripts que vous pouvez modifier en fonction de votre base de données et de votre schéma.
Règles : Utilisez les règles pour augmenter le profil utilisateur pendant la transaction d’authentification, et éventuellement rendre ces changements permanents dans Auth0.
Accéder aux profils utilisateurs
Les applications et Management API Auth0 peuvent contenir des informations sur le profil d’un utilisateur.
Accéder aux profils utilisateurs à partir des applications
Une fois que Auth0 a terminé l’authentification et rendu le contrôle à votre application, il fournit le profil utilisateur à l’application. Au niveau le plus bas, vous pouvez le faire en utilisant l’un des protocoles d’application pris en charge par Auth0. Cependant, la plupart des développeurs préfèrent utiliser les trousses SDK Auth0. Pour en savoir plus, lisez Guides de démarrage rapide.
L’une des trousses SDK est le widget Auth0 Lock, qui fournit une interface de connexion à l’utilisateur. Pour en savoir plus, lisez :
Si vous souhaitez que votre application Web ait une interface de connexion personnalisée, vous pouvez utiliser Auth0.js. Cette bibliothèque JavaScript pour Auth0 invoque le flux d’authentification (et d’autres tâches) et reçoit en retour un objet Profil utilisateur. Pour en savoir plus, lisez Référence Auth0.js v9.
Accéder aux profils utilisateurs à partir de Management API
Auth0 fournit une API REST qui permet aux applications et aux services d’accéder à l’objet Profil utilisateur et de le manipuler.
L’explorateur d’API permet aux utilisateurs d’explorer de manière interactive Management API. Il prévoit :
Appels API disponibles
Informations requises pour chaque appel
Informations renvoyées par chaque appel
Avec l’explorateur, les utilisateurs peuvent essayer chaque point de terminaison dans l’interface utilisateur de l’explorateur ou via une commande CuRL sur la ligne de commande. Pour essayer l’une des commandes de Management API, accédez à l’explorateur d’API. Sélectionnez l’accès requis sous Scopes (permissions) dans la commande que vous choisissez, comme update:users
, puis cliquez sur TRY (ESSAYER).
L’Authentication API Auth0 est spécifiquement destinée aux flux d’authentification. Pour en savoir plus, veuillez consulter Explorateur d’Authentication API. En règle générale, la plupart de ces points de terminaison sont utilisés par les différentes trousses SDK Auth0, et non par votre propre code.
Différence entre profils utilisateurs et jetons
Dans les flux d’authentification décrits ci-dessus, Auth0 renvoie un ensemble de jetons au lieu d’un profil utilisateur complet.
L’un des jetons renvoyés est le jeton d’ID, qui est un jeton Web JSON (JWT) contenant les attributs de profil utilisateur représentés sous la forme de demandes. Ces demandes sont des déclarations concernant l’utilisateur. Une demande est fiable si le consommateur du jeton peut vérifier sa signature, qui (dans le cas de HS256) est générée avec le secret client de l’application Auth0. Si votre application utilise le chiffrement RS256, le jeton d’ID sera signé avec une clé privée et vérifié avec une clé publique. Votre application peut alors décoder le jeton Web JSON (JWT) et obtenir les informations de l’utilisateur contenues dans sa charge utile. Il s’agit par exemple du nom de l’utilisateur, de son adresse de courriel et d’autres données qui font généralement partie de l’expérience de l’utilisateur.
Les demandes contenues dans un Jeton Web JSON (JWT) ne contiennent généralement qu’un sous-ensemble des informations disponibles dans le profil utilisateur. L’objectif est de minimiser la taille des jetons. Pour en savoir plus, lisez Jetons Web JSON.
Trois autres types de jetons peuvent être renvoyés lors de l’authentification :
Jeton d’accès Auth0
Jeton d’accès à un fournisseur tiers
Jeton d’actualisation
Pour en savoir plus sur les jetons et les demandes, lisez Jetons.