Passa al contenuto principale

2. Mutual TLS for OAuth Client Authentication (Mutual TLS per l'autenticazione client OAuth)

2. Mutual TLS for OAuth Client Authentication (Mutual TLS per l'autenticazione client OAuth)​

Questa sezione definisce, come estensione della Sezione 2.3 di OAuth 2.0 [RFC6749], due metodi distinti di utilizzo di certificati client X.509 mutual-TLS come client credentials. L'obbligo di mutual TLS per l'autenticazione client è determinato dall'authorization server, in base a policy o configurazione per il client considerato (indipendentemente dal fatto che il client sia stato registrato dinamicamente, configurato staticamente o stabilito in altro modo).

Per utilizzare TLS per l'autenticazione client OAuth, la connessione TLS tra il client e l'authorization server DEVE essere stata stabilita o ristabilita con autenticazione tramite certificato client X.509 mutual-TLS (ossia i messaggi Certificate e CertificateVerify del client vengono inviati durante il TLS handshake).

Per tutte le richieste all'authorization server che utilizzano l'autenticazione client mutual-TLS, il client DEVE includere il parametro client_id descritto nella Sezione 2.2 di OAuth 2.0 [RFC6749]. La presenza del parametro client_id consente all'authorization server di identificare agevolmente il client in modo indipendente dal contenuto del certificato. L'authorization server può individuare la configurazione del client mediante il client identifier e verificare il certificato presentato nel TLS handshake rispetto alle credenziali attese per quel client. L'authorization server DEVE far rispettare il vincolo tra client e certificato, come descritto nella Sezione 2.1 o 2.2 di seguito. Se non viene presentato alcun certificato, o se il certificato presentato non corrisponde a quello atteso per il dato client_id, l'authorization server restituisce una normale risposta di errore OAuth 2.0 secondo la Sezione 5.2 di [RFC6749] con il codice di errore invalid_client per indicare un'autenticazione client non riuscita.