Perché la specifica OAuth2 consiglia di non trasmettere le credenziali del client nel corpo della richiesta?

2

La specifica OAuth 2.0 afferma che durante l'autenticazione con una password del client, puoi passare client_id e client_secret usando uno dei due:

  • l'intestazione Authorization , utilizzando lo schema di autenticazione di HTTP Basic, OR;
  • il corpo della richiesta.

La specifica consiglia di non utilizzare il corpo della richiesta, affermando che questo metodo deve essere limitato solo ai client che non sono in grado di utilizzare lo schema di autenticazione di HTTP Basic.

link

Qual è la motivazione di questa raccomandazione?

    
posta John Grimes 21.09.2016 - 09:37
fonte

1 risposta

1

Entrambi i metodi sono accettabili, molto probabilmente per compatibilità con le implementazioni esistenti nel momento in cui si utilizzava l'uno o l'altro.

Tuttavia, solo l'autenticazione di base di HTTP è stata quindi resa obbligatoria per l'implementazione da parte dei server di autorizzazione, quindi aggiungere il consiglio aggiuntivo per non utilizzare quello opzionale era probabilmente inteso come un modo per far sì che tutti usassero lo stesso metodo.

In relazione al perché la decisione pesa su HTTP Basic e non sul corpo della richiesta, direi che il fatto che la cronologia di OAuth 2.0 includa legami con OAuth WRAP è un fattore decisivo.

Come informazioni aggiuntive:

Use of the Authorization header is RECOMMENDED, since HTTP implementations are aware that Authorization headers have special security properties and may require special treatment in caches and logs.

(fonte: Profili di autorizzazione delle risorse Web OAuth (OAuth WRAP) )

Authorization headers are recognized and specially treated by HTTP proxies and servers. Thus, the usage of such headers for sending access tokens to resource servers reduces the likelihood of leakage or unintended storage of authenticated requests in general, and especially Authorization headers.

(fonte: Modello di minaccia OAuth 2.0 e considerazioni sulla sicurezza (RFC 6819) )

    
risposta data 25.11.2016 - 16:53
fonte

Leggi altre domande sui tag