4.12. Autenticazione del client
4.12. Autenticazione del client
Le applicazioni che utilizzano HTTP spesso devono autenticare i client. HTTP fornisce diversi meccanismi per l'autenticazione:
-
Autenticazione HTTP: Utilizzo dei campi di intestazione
WWW-AuthenticateeAuthorization, come definito in [HTTP] Sezione 11. Gli schemi comuni includono l'autenticazione Basic [RFC7617] e Digest [RFC7616]. -
Token bearer: Utilizzo di token (come token OAuth 2.0) nel campo di intestazione
Authorizationcon lo schema Bearer. -
Cookie: Utilizzo di cookie [COOKIES] per mantenere sessioni autenticate.
-
Certificati client TLS: Utilizzo di certificati a livello TLS per autenticare i client.
-
Meccanismi specifici dell'applicazione: Meccanismi di autenticazione personalizzati definiti dall'applicazione.
Le applicazioni DOVREBBERO utilizzare meccanismi di autenticazione esistenti e ben compresi ove possibile piuttosto che definirne di nuovi. Quando viene utilizzata l'autenticazione:
-
Le applicazioni DEVONO utilizzare TLS per proteggere le credenziali di autenticazione durante il transito.
-
Le applicazioni DOVREBBERO utilizzare codici di stato HTTP appropriati (in particolare
401 Unauthorizede403 Forbidden) per indicare errori di autenticazione. -
Le applicazioni DOVREBBERO fornire messaggi di errore chiari quando l'autenticazione fallisce, ma NON DEVONO divulgare informazioni sensibili (come l'esistenza di un nome utente).
-
Le applicazioni DOVREBBERO considerare la durata e il rinnovo delle credenziali di autenticazione.
-
Le applicazioni DOVREBBERO specificare come lo stato di autenticazione viene mantenuto tra le richieste (ad esempio, utilizzando cookie o richiedendo il campo di intestazione
Authorizationsu ogni richiesta).
Le applicazioni DOVREBBERO essere consapevoli che l'autenticazione è diversa dall'autorizzazione. L'autenticazione stabilisce l'identità del client, mentre l'autorizzazione determina cosa quel client è autorizzato a fare.