Passer au contenu principal
Par défaut, l’Authentication API utilise les identifiants d’organisation pour identifier des organisations spécifiques. Au besoin, vous pouvez aussi configurer votre locataire pour utiliser les noms d’organisation comme identifiant. Toutefois, cette fonctionnalité comporte des implications en matière de facilité d’utilisation et de sécurité dont vous devez tenir compte avant de l’activer. Pour mieux comprendre son impact potentiel, consultez la section Considérations et recommandations.

Fonctionnement

Lorsque vous configurez votre locataire pour prendre en charge les noms d’organisation dans l’Authentication API, cela a les effets suivants :
  • Le paramètre organization dans les points de terminaison /authorize et SAML peut accepter à la fois des noms d’organisation et des ID.
  • Les jetons d’accès et les incluent automatiquement les claim org_name et org_id.
  • Les Organisations peuvent être configurées avec deux noms : une valeur Name obligatoire, qui sert d’identifiant logique unique, et une valeur Display Name facultative, plus conviviale. Le paramètre org_name accepte uniquement la valeur Name obligatoire et ne prend pas en charge les valeurs Display Name.
  • Cette fonctionnalité est gérée au niveau du locataire. Elle ne peut pas être activée individuellement pour des organisations précises.
Vous pouvez activer cette fonctionnalité dans votre ou au moyen de la  :
  • Auth0 Dashboard : Sélectionnez Paramètres dans le menu de gauche et choisissez l’onglet Avancé. Dans la section Paramètres, activez le bouton Autoriser les noms d’organisation dans l’Authentication API.
  • Management API : Utilisez le point de terminaison PATCH /api/v2/tenants/settings pour définir allow_organization_name_in_authentication_api sur true. Pour en savoir plus, consultez la documentation de la Management API.

Exemple de flux

L’exemple suivant présente un flux de code d’autorisation qui utilise des noms d’organisation.
  1. Appelez le point de terminaison /authorize en transmettant le nom de votre organisation dans le paramètre organization :
  1. Après avoir obtenu le code d’autorisation, appelez le point de terminaison POST /oauth/token pour récupérer les jetons d’accès et les ID tokens :
  1. Les jetons retournés, une fois décodés, contiennent à la fois les claims org_id et org_name :
{
    "sub": "google-oauth2|10...17",
    "aud": [
        "https://yourApp"
    ],
    "iat": 1686840988,
    "exp": 1686927388,
    "azp": "Suo...qTd",
    "scope": "openid profile",
    "org_id": "{yourOrganizationId}",
    "org_name": "{yourOrganizationName}"
}

Considérations et recommandations

Avant d’utiliser des noms d’organisation dans l’Authentication API, il est important de comprendre les principales différences entre les noms d’organisation et les ID d’organisation. Contrairement aux ID d’organisation (qui restent statiques), vous pouvez modifier le nom d’une organisation à tout moment après sa création initiale. De plus, vous pouvez réutiliser des noms d’organisation dans un même locataire, à condition qu’un nom donné soit attribué à une seule organisation à la fois. En pratique, cela signifie que vous pouvez modifier le nom de l’une de vos organisations et réutiliser son nom d’origine pour une autre organisation dans votre locataire. Les noms d’organisation sont uniques uniquement à l’intérieur d’un même locataire; un même nom peut être utilisé pour au moins deux organisations réparties sur plusieurs locataires. En général, il est recommandé d’utiliser des ID d’organisation pour valider les jetons. Toutefois, si l’utilisation de noms d’organisation convient mieux à votre cas d’utilisation, tenez compte des implications ci-dessous lors de la mise en œuvre de cette fonctionnalité.

Considérations relatives à l’ergonomie et à la sécurité

Tenez compte des répercussions potentielles ci-dessous lorsque vous utilisez des noms d’organisation pour demander et valider des jetons :
  • Les noms d’organisation peuvent être réutilisés : Les jetons de longue durée n’expirent pas lorsqu’une organisation change de nom, et les revendications org\_name de ces jetons conservent leur valeur d’origine. Si le nom d’origine est réutilisé plus tard par une autre organisation, ces jetons peuvent accorder aux utilisateurs un accès non autorisé aux données et aux ressources gérées par la nouvelle organisation.
  • Les noms d’organisation sont uniques uniquement dans un seul locataire : Si votre API ne vérifie pas les revendications iss (émetteur) dans les jetons, une organisation portant le même nom dans un autre locataire pourrait générer des jetons qui seraient acceptés à tort par votre API.
  • Les noms d’organisation peuvent être modifiés : Si vous modifiez le nom d’une organisation, vos applications doivent fournir le nouveau nom d’organisation dans les requêtes à l’Authentication API. Comme les jetons peuvent être de longue durée, la revendication org_name d’un jeton peut ne plus correspondre au nom actuel de l’organisation, ce qui pourrait empêcher les applications d’accorder l’accès à l’organisation appropriée.
En raison des répercussions possibles sur la sécurité et la convivialité, il est recommandé d’utiliser des ID plutôt que des noms pour valider les jetons lorsque vous travaillez avec des organisations. Si vous choisissez d’utiliser des noms d’organisation, suivez les pratiques exemplaires ci-dessous pour une expérience optimale :
  • Validez toujours la revendication iss afin de vous assurer qu’un jeton a été émis par votre locataire Auth0.
  • Évitez de réutiliser des noms d’organisation qui ont déjà existé dans votre locataire. Pour empêcher leur réutilisation et veiller à ce que des jetons émis antérieurement ne puissent pas servir à accéder à d’autres organisations, tenez un registre exact et à jour des anciens noms d’organisation.
  • Évitez de renommer des organisations une fois qu’elles sont utilisées, sauf en cas de nécessité absolue. Si vous choisissez de renommer une organisation, sachez que les jetons d’accès existants et les ID tokens ne contiennent pas automatiquement le nouveau nom d’organisation. Après avoir renommé une organisation, assurez-vous de demander aux utilisateurs de se reconnecter.