2. Mutual TLS for OAuth Client Authentication (Mutual TLS pour l'authentification client OAuth)
2. Mutual TLS for OAuth Client Authentication (Mutual TLS pour l'authentification client OAuth)
Cette section définit, en tant qu'extension de la section 2.3 d'OAuth 2.0 [RFC6749], deux méthodes distinctes d'utilisation des certificats client X.509 mutual-TLS comme identifiants client. L'exigence de mutual TLS pour l'authentification client est déterminée par le serveur d'autorisation, selon la politique ou la configuration pour le client concerné (que le client ait été enregistré dynamiquement, configuré statiquement ou établi autrement).
Pour utiliser TLS pour l'authentification client OAuth, la connexion TLS entre le client et le serveur d'autorisation DOIT avoir été établie ou réétablie avec l'authentification par certificat X.509 mutual-TLS (c'est-à-dire que les messages Certificate et CertificateVerify du client sont envoyés pendant la poignée de main TLS).
Pour toutes les requêtes au serveur d'autorisation utilisant l'authentification client mutual-TLS, le client DOIT inclure le paramètre client_id décrit à la section 2.2 d'OAuth 2.0 [RFC6749]. La présence du paramètre client_id permet au serveur d'autorisation d'identifier facilement le client indépendamment du contenu du certificat. Le serveur d'autorisation peut localiser la configuration client à l'aide de l'identifiant client et vérifier le certificat présenté dans la poignée de main TLS par rapport aux identifiants attendus pour ce client. Le serveur d'autorisation DOIT appliquer la liaison entre le client et le certificat, comme décrit à la section 2.1 ou 2.2 ci-dessous. Si aucun certificat n'est présenté, ou si le certificat présenté ne correspond pas à celui attendu pour le client_id donné, le serveur d'autorisation renvoie une réponse d'erreur OAuth 2.0 normale conformément à la section 5.2 de [RFC6749] avec le code d'erreur invalid_client pour indiquer l'échec de l'authentification client.