mTLS dans OAuth/OIDC
- L’utilisation d’un secret client partagé comme méthode d’authentification client.
- La possibilité qu’un jeton d’accès soit utilisé par des parties non autorisées.

/oauth/token sur le serveur d’autorisation au moyen d’une connexion mTLS, le jeton d’accès généré contient des informations permettant au serveur de ressources de vérifier que le certificat TLS du client correspond à celui associé au jeton d’accès.

mTLS à Auth0
cname-api-key, conformément à la fonctionnalité des domaines personnalisés.

https://<custom-domain>/.well-known/openid-configuration
Une réponse réussie retourne le document de découverte OIDC ou un objet JSON détaillant les propriétés et points de terminaison du serveur d’autorisation, y compris ceux associés à mTLS.
Si l’authentification client mTLS est activée, le document de découverte OIDC inclut le token_endpoint_auth_methods_supported property, which contains either tls_client_auth ou self_signed_tls_client_auth :
tls_client_certificate_bound_access_tokens sur true :
mtls_endpoint_aliases, qui contient une liste de points de terminaison compatibles avec mTLS. Pour les clients qui prennent en charge mTLS, les points de terminaison répertoriés sous mtls_endpoint_aliases ont priorité sur les mêmes points de terminaison exposés à l’extérieur de mtls_endpoint_aliases.
Dans l’exemple de code suivant, la propriété du token_endpoint est exposée deux fois. Le point de terminaison à utiliser pour les appels mTLS est répertorié sous mtls_endpoint_aliases, ou https://mtls.auth.bank.com/oauth/token :
mtls_endpoint_aliases, utilisez le même point de terminaison répertorié en dehors de mtls_endpoint_aliases. Dans l’exemple ci-dessus, pushed_authorization_request_endpoint n’est pas répertorié sous mtls_endpoint_aliases. Par conséquent, utilisez le pushed_authorization_request_endpoint exposé à l’extérieur de mtls_endpoint_aliases, ou https://auth.bank.com/oauth/par.
Pour plus d’informations, veuillez consulter la section RFC 8705 sur les alias de points de terminaison.
Appel au serveur d’autorisation
tls_client_certificate_bound_access_tokens.
Lorsque le client appelle le serveur de ressources avec un jeton d’accès lié à mTLS, le serveur de ressources demande un certificat mTLS au client pendant l’établissement de liaison TLS. Le serveur de ressources doit rejeter les demandes avec un jeton d’accès qui ne correspond pas à ce certificat client avec un code d’état HTTP 401 et un code d’erreur invalid_token. Pour en savoir plus, veuillez consulter Configurer le serveur de ressources pour la contrainte de l’expéditeur.