Skip to main content
API My Organization et Embeddable UI Components est actuellement offerte en Early Access à tous les clients. En utilisant cette fonctionnalité, vous acceptez les conditions applicables de l’essai gratuit figurant dans le Master Subscription Agreement d’Okta. Pour en savoir plus sur le cycle de publication des produits d’Auth0, consultez Product Release Stages.Les clients sont responsables de s’assurer que leur utilisation de l’API My Organization et d’Embeddable UI Components est conforme à leurs politiques de sécurité et aux lois applicables, y compris toute permission accordée à leurs utilisateurs finaux.
L’API Auth0 My Organization fournit une interface sécurisée, limitée à une organisation, qui permet à vos clients commerciaux de gérer leurs propres organisations dans votre tenant Auth0. Cette API sert de fondement technique à l’administration déléguée intégrée et aux intégrations API-first.

Capacités principales

À l’heure actuelle, l’API permet de gérer les éléments suivants :
  • les détails de Auth0 Organization (nom, image de marque, nom d’affichage)
  • la configuration, la propriété et les relations propres à l’organisation
  • les fournisseurs d’identité (IdP) et le provisionnement SCIM
  • la configuration des domaines et de Home Realm Discovery (HRD)
API My Organization vous donne un contrôle technique poussé sur votre intégration. Pour accélérer au maximum le déploiement, nous vous recommandons fortement de commencer par les Embeddable UI Components, les SDK et les applications d’exemple. Les Embeddable UI Components et les applications d’exemple réduisent considérablement le temps et les efforts nécessaires pour offrir une expérience en libre-service à vos clients et à vos utilisateurs finaux.

Configurer My Organization API

Activer API My Organization dans Auth0 Dashboard

  1. Accédez à Auth0 Dashboard > Applications > APIs.
  2. Repérez la bannière API My Organization.
  3. Sélectionnez Activer.
    Auth0 Dashboard>Authentication>APIs
  4. L’API apparaît dans votre liste Applications > API sous le nom API My Organization.
Une fois API My Organization activée :
  • Auth0 désactive l’API par défaut pour toutes les applications client.
  • Vous devez accorder l’accès aux applications et aux rôles à l’aide des client grants ou des politiques RBAC.
  • Vos clients d’affaires peuvent récupérer les détails de l’organisation ou configurer des IdPs au nom de leurs propres organisations.

Paramètres par défaut

Domaine Auth0 ou domaine personnalisé My Organization API prend en charge l’utilisation de votre domaine Auth0 canonique ou de votre domaine personnalisé, mais vous devez utiliser le même domaine pendant tout le processus, ce qui comprend notamment ce qui suit :
  • Demander un jeton d’accès
  • Définir l’audience ou la valeur aud
  • Appeler le point de terminaison de My Organization API
Pour en savoir plus sur l’utilisation des domaines personnalisés dans Auth0, consultez Domaines personnalisés. Politiques d’accès Par défaut, My Organization API s’active avec les politiques d’accès des applications à l’API suivantes :
  • require_client_grant pour les flux utilisateur
  • deny-all pour les flux machine-to-machine
Pour qu’une application puisse accéder à My Organization API au nom de l’utilisateur, créez un client grant pour cette application afin de définir les scopes maximaux que l’application peut demander. Vous pouvez aussi autoriser n’importe quelle application de votre tenant à demander n’importe quel scope en définissant les flux d’accès utilisateur sur allow_all.
Auth0 recommande de ne pas utiliser allow_all pour les flux d’accès utilisateur, car My Organization API expose des informations et des opérations sensibles. Vous devriez appliquer le principe du moindre privilège afin de vous assurer que les applications n’obtiennent que l’accès dont elles ont réellement besoin, ce qui réduit au minimum les risques potentiels pour la sécurité.
Les permissions finales accordées à l’application seront déterminées par l’intersection des scopes autorisés par la politique d’accès des applications à l’API, des permissions RBAC (Role-Based Access Control) attribuées à l’utilisateur final et de tout consentement donné par l’utilisateur (le cas échéant). Pour en savoir plus sur la gestion des politiques d’accès des applications à l’API et des client grants qui y sont associés, consultez Accès des applications aux API : Client Grants. Durée de vie des jetons My Organization API émet des jetons d’accès dont la durée de vie est fixe : 600 secondes (10 minutes). Cette courte durée est une mesure de sécurité délibérée conçue pour protéger votre tenant et ses ressources.
My Organization API restera toujours à activation explicite pour des raisons de sécurité. La désactivation de l’API supprime l’accès pour toutes les applications connectées jusqu’à sa réactivation.

Configurer les attributs de l’application cliente

Créez une application dans Auth0 pour l’utiliser avec l’API My Organization. Une fois l’application créée, accédez à Auth0 Dashboard > Applications > APIs et autorisez l’API My Organization, en incluant les scopes que vous souhaitez accorder à l’application. Votre application doit fournir l’objet my_organization_configuration, sinon l’API My Organization renverra une erreur et rejettera la requête. Vous pouvez utiliser les propriétés suivantes avec l’objet my_organization_configuration :

Configurer les attributs de l’application cliente

Pour configurer les attributs requis de API My Organization :
  1. Accédez à Dashboard > Applications > APIs et sélectionnez API My Organization.
  2. Sélectionnez l’onglet Application Access.
  3. Choisissez l’application que vous voulez configurer et sélectionnez Edit.
  4. Configurez les paramètres suivants :
    A. Facultatif. Configurez le Connection Profile.
    1. Sélectionnez un Connection Profile existant ou créez-en un nouveau. Pour un nouveau Connection Profile :
      a. Ajoutez un nom.
      b. Passez en revue les mappages pour vous assurer que les attributs de la connexion reflètent les paramètres souhaités pour les nouvelles connexions.
    B. Facultatif. Configurez le User Attribute Profile.
    1. Ajoutez un nom.
    2. Passez en revue les mappages pour vous assurer que les attributs du profil correspondent aux attributs Auth0 de votre choix.
    C. Configurez les fournisseurs d’identité pris en charge.
    1. Activez un ou plusieurs fournisseurs d’identité. Les administrateurs du client peuvent sélectionner l’option de leur choix dans la liste des fournisseurs activés.
    D. Configurez le comportement de suppression de la connexion sur Allow ou Allow if Empty.
    1. Allow : si l’utilisateur dispose du scope approprié, il peut supprimer la connexion, ce qui entraîne la suppression de tous les utilisateurs provenant de cette connexion.
    2. Allow if Empty : si l’utilisateur dispose du scope approprié, il peut supprimer la connexion seulement s’il n’y a aucun utilisateur dans la connexion. Si des utilisateurs sont présents, API My Organization renverra une erreur et ne procédera pas à la suppression.
    E. Configurez l’autorisation d’accès des utilisateurs sur Unauthorized, Authorized ou All.
    1. Unauthorized. Aucune permission n’est accordée.
    2. Authorized. Sélectionnez les permissions souhaitées.
    3. All. Inclut toutes les permissions existantes et futures.
    F. Configurez l’autorisation d’accès des informations d’identification du client sur Unauthorized, Authorized ou All.
    1. Unauthorized. Aucune permission n’est accordée.
    2. Authorized. Sélectionnez les permissions souhaitées.
    3. All. Inclut toutes les permissions existantes et futures.
  5. Sélectionnez Save.

Générer un jeton d’accès

L’API My Organization peut uniquement être appelée à l’aide d’un jeton d’accès associé à un utilisateur, obtenu au moyen de l’un des flux OAuth 2.0 pris en charge.
Si vous prévoyez autoriser l’API My Organization à effectuer des opérations sensibles, nous vous recommandons fortement d’utiliser l’authentification renforcée afin d’appliquer des politiques de sécurité supplémentaires au moyen de l’authentification multifactorielle (MFA).

Exemple avec le flux de code d’autorisation

Utilisez le flux de code d’autorisation pour les applications Web confidentielles avec un .
Exemple de réponse

Exemple avec le flux de code d’autorisation avec PKCE

Utilisez le flux de code d’autorisation avec clé de preuve pour l’échange de code (PKCE) pour les applications publiques sans secret client, les applications monopages, les applications mobiles ou natives et les outils CLI.

Audience

L’audience et l’URL de base de l’API My Organization sont https://{yourDomain}/my-org/. Les jetons doivent inclure l’audience https://YOUR_DOMAIN/my-org/. Les jetons provenant d’autres API (comme /me ou /api/v2/) ne fonctionneront pas.

Scopes

Référence des points de terminaison

L’API My Organization prend en charge des points de terminaison pour la configuration, les détails de l’organisation, les fournisseurs d’identité, les domaines, les configurations de provisionnement et les jetons SCIM. Pour consulter la référence complète de ces points de terminaison, y compris les schémas, les codes d’erreur, etc., reportez-vous à notre API Explorer.

Référence du SDK

L’API est offerte sous forme de SDK pour TypeScript, Java, .NET, Go et Python. Pour en savoir plus sur chaque implémentation du SDK et consulter des exemples d’utilisation du SDK, reportez-vous à notre documentation du SDK.

Profils utilisateur

L’API My Organization utilise les Connection Profiles et les User Attribute Profiles pour définir la structure, les restrictions et les règles des configurations créées par des clients tiers.

Connection Profile (CP)

Le Connection Profile permet aux développeurs Auth0 de préciser comment les paramètres privés d’une connexion Auth0 doivent être configurés lorsqu’elle est créée par des tiers. Pour en savoir plus sur le fonctionnement du Connection Profile, ses mappages d’attributs et ses remplacements, voir des exemples et apprendre à en configurer un, consultez Connection Profiles.

User Attribute Profile (UAP)

Le User Attribute Profile (UAP) offre une manière uniforme de définir, de gérer et de mapper les attributs utilisateur à travers des protocoles comme SCIM, SAML et OIDC. Pour en savoir plus sur le fonctionnement du UAP, ses mappages d’attributs et ses overrides, voir des exemples et apprendre à en configurer un, consultez User Attribute Profiles.

Limites de débit

Les limites de débit s’appliquent selon votre niveau de service :

Limites de débit par organisation

En plus des limites de débit du niveau de service, la My Organization API applique aussi des limites de débit par organisation. Ces limites visent à assurer une répartition équitable des ressources et à empêcher qu’une seule organisation nuise aux performances globales de votre tenant. En appliquant ces limites, nous atténuons l’effet du « voisin bruyant », de sorte qu’une hausse soudaine de l’activité d’une organisation ne monopolise pas les ressources partagées et n’ait pas d’incidence sur une autre au sein du même environnement. Un nombre précis de requêtes par seconde (RPS) est attribué à chaque organisation, tant pour les opérations de lecture que d’écriture.

Requêtes interorigines

Si vous prévoyez effectuer une requête directement à l’API My Organization à partir d’une application navigateur (comme une application monopage) exécutée sur un domaine différent de celui de votre tenant Auth0, vous serez confronté aux politiques de sécurité des navigateurs appelées Cross-Origin Resource Sharing (CORS). Par défaut, les navigateurs bloquent ces requêtes interorigines. Pour permettre à votre application d’envoyer des requêtes à l’API avec succès, vous devez ajouter le domaine de votre application (son « origine ») à la configuration de votre client :
  1. Accédez à Auth0 Dashboard > Applications. Sélectionnez l’application à afficher.
  2. Sous Cross-Origin Authentication, activez la bascule Allow Cross-Origin Authentication.
  3. Repérez Allowed Origins (CORS), puis entrez l’URL d’origine de votre application.
  4. Sélectionnez Save.
Si vous n’avez pas besoin d’utiliser CORS pour votre application, assurez-vous que la bascule Allow Cross-Origin Authentication est désactivée. En ajoutant l’URL de votre application à cette liste, vous indiquez à Auth0 qu’il peut faire confiance aux requêtes provenant de cette origine, ce qui permet à votre application client-side d’accéder à l’API.

Événements de journalisation

Pour faciliter l’audit granulaire et la surveillance, l’API My Organization génère un ensemble précis d’événements de journalisation propres à cette API. Bien que votre tenant continue d’émettre les journaux système standard, le tableau ci-dessous présente la liste complète des types d’événements déclenchés spécifiquement par l’activité de l’API My Organization. Ces codes d’événement vous permettent de suivre les activités pour toutes les ressources gérées par l’API, plus précisément : la configuration, les détails de l’organisation, les IdPs et les domaines. Si vous souhaitez en savoir plus sur les schémas des événements de journalisation, vous pouvez consulter notre dépôt GitHub.

Propriété des connexions d’organisation

L’API introduit un modèle de propriété pour distinguer les connexions gérées par l’administrateur de tenant et celles autogérées par l’organisation. Cette gestion est contrôlée par la propriété organization_access_level. Propriété clé : organization_access_level Points de terminaison de la Management API pour les connexions : Lorsque vous appelez les points de terminaison /connections, utilisez les mêmes scopes que pour les points de terminaison /enabled_connections :
  • create:organization_connections
  • read:organization_connections
  • delete:organization_connections
  • update:organization_connections
Examinez les attributs supplémentaires du schéma : Remarques :
  • Ces points de terminaison acceptent un paramètre de requête facultatif is_enabled=true/false et, s’il est présent, n’affichent que les connexions ayant la valeur is_enabled précisée.
  • organization_access_level ne peut être modifié qu’au moyen de la Management API.
  • Si l’attribut name n’est pas défini, il doit être renseigné au moyen de la Management API avant de changer organization_access_level de none à toute autre valeur.

Auth0 Universal Components

Nous vous recommandons fortement de commencer par nos composants d’interface utilisateur intégrables, Auth0 Universal Components, plutôt que d’utiliser une intégration axée sur les API. Ces ressources devraient réduire considérablement votre temps de développement et offrir rapidement une expérience en libre-service à vos clients.