Configurer le réseau de périphérie client
Cette section explique comment configurer le réseau de périphérie client. Les spécificités de la configuration de différents réseaux de périphérie sortent du cadre de ce document. Plus en savoir plus, veuillez consulter la documentation domaine personnalisé.
Le domaine de périphérie client doit correspondre au domaine personnalisé enregistré. Si les alias de points de terminaison mTLS sont activés, le réseau de périphérie client doit également accepter les demandes sur le sous-domaine utilisé par les alias mTLS. Toutes les demandes qui arrivent au sous-domaine mTLS doivent demander un certificat TLS client et vérifier que le certificat est enregistré pour être utilisé. Pour plus d’informations, veuillez consulter Vérifier le certificat client.
L’établissement de la liaison mTLS se produit 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 transmettre uniquement les demandes pour les points de terminaison suivants :
/oauth/token
/oauth/par
/userinfo
Si votre installation vise la conformité FAPI, des exigences supplémentaires liées à TLS sont imposées à votre réseau de périphérie. Pour plus d’informations, veuillez consulter les spécifications Base de référence FAPI1, FAPI1 Avancé, et Base de référence FAPI2 .
Vérifier le certificat client
Le réseau de périphérie client effectue des validations qui dépendent du type attendu du certificat client. Pour éviter les problèmes et pièges de sécurité courants, utilisez lorsque cela est possible, une bibliothèque de validation de certificats agréée. Lorsque la validation du certificat client échoue, le comportement attendu dépend de l’installation et sort du cadre de ce document.
Certificats signés par une autorité de certification (CA)
Lorsqu’un certificat est signé par une autorité de certification, la chaîne de confiance du certificat doit être vérifiée, y compris le certificat racine. Le certificat peut également être comparé à une liste d’autorisations ou de refus pour garantir que le certificat est enregistré et n’a pas été révoqué. N’utilisez pas une autorité de certification publique (par exemple LetsEncrypt) pour signer vos certificats clients, car il existe un risque d’usurpation de l’identité de vos clients.
Certificats auto-signés
Les certificats auto-signés ne sont pas soutenus par une chaîne de confiance, une chaîne de certificats ne peut donc pas être vérifiée. Au lieu de cela, l’empreinte du certificat peut être vérifiée par rapport à une base de données de certificats enregistrés ou transmise directement à Auth0 pour effectuer cette vérification.
Transmettre la demande
Une fois le certificat vérifié, les demandes sont transmises avec plusieurs en-têtes spéciaux du client au même point de terminaison sur la cible de transfert du domaine personnalisé à Réseau de périphérie d’Auth0. La demande transmise doit inclure les en-têtes suivants :
La clé API de domaine personnalisé comme en-tête
cname-api-key
.Le certificat client comme en-tête
client-certificate
. Remarque : Étant donné que les en-têtes HTTP doivent être du texte, le certificat doit être converti en un composant URL codé PEM. La valeur de l’en-tête est limitée à 4096 octets. Par conséquent, seul le premier certificat de la chaîne doit être transmis à Auth0.L’état de vérification de l’autorité de certification du certificat client sous la forme de l’en-tête
client-certificate-ca-verified
. L’en-têteclient-certificate-ca-verified
peut avoir les valeurs suivantes :SUCCÈS : indique que le certificat client est valide et a été vérifié par une autorité de certification.
ÉCHEC : 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. En d’autres termes, il s’agit d’un certificat auto-signé. Peut inclure une raison d’échec facultative.
Si votre configuration prend uniquement en charge les certificats signés par une autorité de certification, vous n’avez pas besoin de transférer les certificats auto-signés au réseau de périphérie Auth0 et vous pouvez mettre fin à la demande plus tôt. Cependant, si vos clients sont configurés pour s’authentifier à l’aide de certificats auto-signés, Auth0 s’attend à ce que votre réseau de périphérie envoie un en-tête client-certificate-ca-verified:FAILED
. En fonction de cette valeur d’en-tête, Auth0 sait quelle méthode d’authentification client a été utilisée et quelles informations d’identification client doivent être vérifiées.