Passer au contenu principal
Découvrez comment configurer l’authentification mTLS pour un locataire.
Les exemples suivants utilisent $management_access_token, c’est-à-dire un jeton d’accès de la Management API. Celui-ci doit être remplacé par un jeton d’accès contenant au moins les scopes suivants :
  • create:custom_domains
  • read:custom_domains
  • create:clients
  • update:clients
  • update:client_credentials
  • update:client_keys
  • update:tenant_settings
Pour en savoir plus sur la façon d’obtenir un jeton d’accès avec les scopes requis, consultez Obtenir des jetons d’accès.
Pour commencer, vous devez configurer et vérifier un domaine personnalisé.

Créer un domaine personnalisé

Au niveau du locataire, vous devez configurer un domaine personnalisé pour accepter les en-têtes mTLS avec la Management API. Comme la customer edge est chargée de valider les certificats clients, définissez type à self_managed_certs dans la requête POST :
curl --location --request POST 'https://$tenant/api/v2/custom-domains' \
  --header 'Authorization: Bearer $management_access_token' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "domain":"string",
  "type":"self_managed_certs",
  "verification_method":"txt", 
  "tls_policy":"recommended",
  "custom_client_ip_header":"true-client-ip"
}'
Une requête réussie renvoie un identifiant servant à vérifier le . Pour en savoir plus, consultez la documentation de l’API Configurer un nouveau domaine personnalisé.

Modifier un domaine personnalisé existant

Vous pouvez configurer un domaine personnalisé existant pour qu’il accepte les en-têtes mTLS à l’aide de la Management API. Cependant, vous ne pouvez pas mettre à jour le type d’un domaine personnalisé existant.
Seuls les domaines personnalisés de type self_managed_certs peuvent être utilisés avec mTLS. Auth0 ne prend actuellement pas en charge le type auth0_managed_certs pour mTLS.
La requête POST suivante configure un domaine personnalisé existant pour qu’il accepte les en-têtes mTLS :
curl --location --request POST 'https://$tenant/api/v2/custom-domains/:id' \
  --header 'Authorization: Bearer $management_access_token' \
  --header 'Content-Type: application/json' \
  --data-raw '{
  "tls_policy":"recommended",
  "custom_client_ip_header":"true-client-ip"
}'
Pour en savoir plus, consultez la documentation de l’API Update custom domain configuration.

Vérifier le domaine personnalisé

Avant qu’Auth0 n’accepte les requêtes de création et de mise à jour du domaine personnalisé, il doit d’abord vérifier le domaine. Utilisez la Management API pour envoyer la requête POST suivante afin de vérifier le domaine personnalisé :
curl --location --request POST 'https://$tenant/api/v2/custom-domains/:id/verify'
Vérifiez le champ status pour connaître son état de vérification. Une fois la vérification terminée, il peut s’écouler jusqu’à 10 minutes avant que le domaine personnalisé commence à accepter des requêtes. Lorsque Auth0 vérifie le domaine personnalisé pour la première fois, la réponse inclut cname_api_key, que vous devez configurer dans votre proxy de périphérie/proxy inverse. Cette clé doit rester secrète et sert à valider les requêtes transmises. Pour en savoir plus, consultez la documentation de l’API Verify a custom domain.

Activer les alias de points de terminaison mTLS

Lorsque la négociation mTLS demande un certificat client au client, le navigateur Web affiche aux utilisateurs une boîte de dialogue modale pour sélectionner un certificat. Cela alourdit l’expérience utilisateur et devrait être évité pour les points de terminaison où mTLS n’est pas nécessaire, comme le point de terminaison /authorize. Par conséquent, les clients qui prennent en charge le trafic mTLS et non mTLS sur des domaines distincts devraient activer les alias de points de terminaison mTLS. Les alias de points de terminaison mTLS indiquent que les applications doivent envoyer le trafic mTLS aux points de terminaison précisés dans la propriété mtls_endpoint_aliases du document de découverte OIDC. Les applications enverront le trafic non mTLS aux points de terminaison habituels. Pour en savoir plus sur la propriété mtls_endpoint_aliases, consultez Appeler le serveur de ressources. Vous pouvez activer les alias de points de terminaison mTLS avec le et la .
Pour activer les alias de points de terminaison mTLS à l’aide d’Auth0 Dashboard :
  1. Accédez à Auth0 Dashboard et sélectionnez Settings dans le menu latéral.
  2. Sous Tenant Settings, sélectionnez l’onglet Advanced.
  3. Repérez Allow mTLS Endpoint Aliases et activez l’option. Le trafic mTLS sera alors acheminé vers un point de terminaison appelé mtls.<your custom domain>.

En savoir plus