La disponibilité varie selon le plan Auth0
Votre plan Auth0 ou votre accord personnalisé ont un impact sur la disponibilité de cette fonctionnalité. Pour en savoir plus, lisez Tarification.
name
qui affirme que le nom de l’utilisateur qui s’authentifie est «Pierre Untel».
Il existe deux types de demandes JWT :
- Enregistrée : Demandes définies par la spécification JWT pour assurer l’interopérabilité avec les applications tierces ou externes. Les demandes standard OpenID Connect (OIDC) sont des demandes réservées.
- Personnalisée : Demandes que vous définissez vous-même. Il peut s’agir d’autorisations publiques non enregistrées et résistantes aux collisions ou d’autorisations privées non enregistrées et non publiques sujettes aux collisions. Nommez ces demandes avec soin, par exemple au moyen de l’espace de nommage, afin d’éviter toute collision avec des demandes réservées ou d’autres demandes personnalisées. Il peut être difficile de traiter deux demandes d’autorisation portant le même nom et contenant des informations différentes.
Authentifier les utilisateurs par l’intermédiaire d’une organization
Pour authentifier un utilisateur par l’intermédiaire d’une organization, un paramètreorganization
est ajouté à un appel au point de terminaison /authorize
. Des exemples de jetons renvoyés lorsqu’un utilisateur se connecte par l’intermédiaire d’une organization sont présentés ci-dessous.
Par défaut, les jetons d’accessibilité et d’ID n’incluent que des ID d’organisation. Cependant, vous pouvez configurer votre locataire pour permettre l’utilisation de noms d’organisation dans la Authentication API. Lorsqu’ils sont configurés, les jetons d’accès et d’ID contiennent tous deux les demandes
org_id
et org_name
. Pour en savoir plus, consultez Utiliser des noms d’organisation dans la Authentication API.Jeton d’ID
Dans l’exemple suivant, notez quehttps://marketplace/roles
et https://namespace.exampleco.com/
sont des demandes personnalisées qui ont été ajoutées au jeton, tandis que les autres demandes incluses sont standard.
Jeton d’accès
Accès de communication entre machines à une organisation
Dans les cas de communication entre machines, un paramètreorganization
est ajouté à la demande Client Credentials au point de terminaison /oauth/token
afin qu’une application puisse obtenir un jeton d’accès pour elle-même plutôt que pour un utilisateur.
Par défaut, les jetons d’accessibilité et d’ID n’incluent que des ID d’organisation. Cependant, vous pouvez configurer votre locataire pour permettre l’utilisation de noms d’organisation dans la Authentication API. Lorsqu’ils sont configurés, les jetons d’accès et d’ID contiennent tous deux les demandes
org_id
et org_name
. Pour en savoir plus, consultez Utiliser les noms d’Organisation dans Authentication API.Valider les jetons
Lorsque le paramètreorganization
est ajouté à un appel au point de terminaison /authorize
ou au point de terminaison /oauth/token
, les trousses SDK Auth0 valident automatiquement la demande org_id
, qui est renvoyée dans le cadre de tout jeton généré. Toutefois, à des fins de sécurité, une validation supplémentaire doit être effectuée lors de la réception des jetons.
Si vous avez configuré votre locataire pour permettre l’utilisation de noms d’organisation dans la Authentication API, les jetons d’accès et d’ID contiennent tous les deux les demandes
org_id
et org_name
. S’il existe, validez la demande org_name
et org_id
pour vous assurer que les valeurs reçues correspondent à une entité de confiance.En général, utiliser des ID d’organisation est une méthode préférable pour la validation des jetons. Cependant, les noms d’organisation peuvent être utilisés s’ils sont plus appropriés pour le cas d’utilisation. Pour comprendre les implications potentielles d’utiliser des noms d’organisation pour valider des jetons, consultez Utiliser des noms d’organisation dans la Authentication API.organization
n’a été transmis au point de terminaison /authorize
, mais qu’une demande org_id
est présente dans le jeton d’ID, votre application doit valider la demande pour s’assurer que la valeur reçue est attendue ou connue et qu’elle correspond à une entité en laquelle votre application a confiance, telle qu’un client payant. Si la demande ne peut être validée, l’application doit considérer le jeton comme non valide.
Pour les API :
Si une demande org_id
est présente dans le jeton d’accès, votre API doit valider la demande pour s’assurer que la valeur reçue est attendue ou connue et qu’elle correspond à une entité en laquelle votre application a confiance, telle qu’un client payant. Si la demande ne peut pas être validée, l’API doit considérer le jeton comme non valide.
En particulier :
- La demande
iss
(émetteur) doit être vérifiée pour s’assurer que le jeton a été émis par Auth0. - L’affirmation
org_id
doit être vérifiée pour s’assurer qu’il s’agit d’une valeur déjà connue de l’application. Elle pourrait être validée par rapport à une liste connue d’identifiants d’organizations, ou être vérifiée en conjonction avec l’URL de la demande actuelle. Par exemple, le sous-domaine peut indiquer l’organization à utiliser lors de la validation du jeton d’ID.
org_id
. Cela garantit que seules les informations relatives à une organisation donnée peuvent être consultées ou modifiées lorsque la valeur org_id
correspondant à cette organisation est reçue dans le jeton d’accès.