Passer au contenu principal
Cette section explique comment configurer le réseau de périphérie du client. Les détails de configuration des différents réseaux de périphérie dépassent le cadre de ce document. Pour en savoir plus, consultez la documentation sur les domaines personnalisés. Le domaine de périphérie du client doit correspondre au enregistré. Si les alias de point de terminaison mTLS sont activés, la périphérie du client doit aussi accepter les requêtes sur le sous-domaine utilisé par les alias mTLS. Toutes les requêtes qui arrivent sur le sous-domaine mTLS doivent demander un certificat TLS client et vérifier qu’il est enregistré pour être utilisé. Pour en savoir plus, consultez Vérifier le certificat client. L’établissement de liaison mTLS a lieu avant que l’infrastructure de périphérie puisse déterminer le chemin demandé. Une fois la session TLS établie, le client peut souhaiter inspecter le chemin et ne transférer que les requêtes destinées aux points de terminaison suivants :
  • /oauth/token
  • /oauth/par
  • /userinfo
Si votre installation vise la conformité à la norme FAPI, des exigences supplémentaires liées à TLS s’appliquent à votre réseau de périphérie. Pour en savoir plus, consultez les spécifications FAPI1 Baseline, FAPI1 Advanced et FAPI2 Baseline.

Vérifier le certificat client

Le réseau de périphérie du client effectue des validations qui dépendent du type attendu de certificat client. Pour éviter les problèmes de sécurité courants et les pièges fréquents, utilisez, dans la mesure du possible, une bibliothèque éprouvée de validation de certificats. Si le certificat client ne passe pas la validation, le comportement attendu dépend de l’installation et sort du cadre de ce document.

Certificats signés par une AC

Lorsqu’un certificat est signé par une autorité de certification, sa chaîne de confiance doit être vérifiée, y compris le certificat racine. Le certificat peut aussi être comparé à une liste d’autorisation ou à une liste de blocage afin de s’assurer qu’il est enregistré et qu’il n’a pas été révoqué. Nous vous recommandons de ne pas utiliser une autorité de certification publique pour signer vos certificats clients, car cela peut accroître le risque d’usurpation de vos applications clientes.

Certificats autosignés

Les certificats autosignés ne reposent pas sur une chaîne de confiance; il n’est donc pas possible de vérifier une chaîne de certificats. À la place, l’empreinte du certificat peut être comparée à une base de données de certificats enregistrés ou transmise directement à Auth0 pour effectuer cette vérification.

Transmettre la requête

Une fois le certificat vérifié, les requêtes sont transmises, avec plusieurs en-têtes spéciaux provenant du client, au même point de terminaison sur la cible de transfert du domaine personnalisé dans le réseau de périphérie d’Auth0. La requête transmise doit inclure les en-têtes suivants :
  • La clé API du domaine personnalisé dans l’en-tête cname-api-key.
  • Le certificat client dans l’en-tête client-certificate. Remarque : comme les en-têtes HTTP doivent être textuels, le certificat doit être converti en PEM encodé comme composant d’URL. La valeur de l’en-tête est limitée à 4 096 octets. Par conséquent, seul le premier certificat de la chaîne doit être transmis à Auth0.
  • L’état de vérification de l’AC du certificat client dans l’en-tête client-certificate-ca-verified. L’en-tête client-certificate-ca-verified peut avoir les valeurs suivantes :
    • SUCCESS : indique que le certificat client est valide et qu’il a été vérifié par une autorité de certification.
    • FAILED: indique que le certificat client présenté est valide, mais que la chaîne de confiance du certificat n’a PAS été vérifiée par une autorité de certification. Autrement dit, il s’agit d’un certificat autosigné. Peut inclure une raison d’échec facultative.
Si votre configuration prend uniquement en charge les certificats signés par une AC, vous n’avez pas besoin de transmettre les certificats autosignés au réseau de périphérie d’Auth0, et vous pouvez interrompre la requête plus tôt. Toutefois, si vos clients sont configurés pour s’authentifier à l’aide de certificats autosignés, Auth0 s’attend à ce que la périphérie de votre réseau envoie un en-tête client-certificate-ca-verified:FAILED. Selon la valeur de cet en-tête, Auth0 sait quelle méthode d’authentification du client a été utilisée et quelles informations d’identification du client doivent être vérifiées.

En savoir plus