Flusso OAuth2 non confidenziale

6

Ho esaminato alcuni documenti relativi a OAuth2 di flussi di autorizzazione riservati e non riservati, ovvero questo e RFC .

Da quanto ho capito, il flusso non confidenziale non richiede client_secret , o meglio ancora, in realtà non dovresti usare client_secret perché stai assumendo qualcuno puoi prenderne possesso insieme a client_id , rendendo così più semplice la posa come app client.

Quindi per implementare il flusso non confidenziale, il client deve prima lavorare con client_id emesso dal server e uno stato generato dal client. Quindi il client dovrebbe utilizzare un codice restituito dal server e lo stesso valore stato . redirect_uri deve anche essere registrato con il server.

AFAIK (per quanto ne so) è ciò che distingue il confidenziale dal flusso non confidenziale: il flusso confidenziale richiede client_secret mentre il non confidenziale non lo fa. Inoltre, questo è ciò che definisce il flusso non confidenziale, la mancanza di un client_secret . Sono corretto assumendo questo?

La sezione 2.3 non sembra essere specifica a riguardo.

Q correlata, da Sezione 4.1.3 :

If the client type is confidential or the client was issued client credentials (or assigned other authentication requirements), the client MUST authenticate with the authorization server as described in Section 3.2.1.

Che cosa si trova esattamente sotto " altri requisiti di autenticazione "? Non è questo un cliente che deve essere autorizzato?

    
posta takecare 17.01.2018 - 17:29
fonte

2 risposte

0

Un cliente confidenziale può mantenere / proteggere i segreti, mentre un cliente non confidenziale non può.

Poiché i clienti non riservati non possono mantenere segreti, le specifiche OAuth 2 non consentono i token di aggiornamento o qualsiasi tipo di informazioni riservate da condividere con tali client. Ciò significa anche che i client non riservati non possono essere considerati attendibili con chiavi segrete o private.

Senza tali chiavi un client non può autenticarsi (cioè identificarsi in modo sicuro con un determinato client_id) con il server di autorizzazione.

Anche se a un client non riservato viene assegnato un client_id, chiunque può mascherarsi come tale client_id. Di conseguenza, il server di autorizzazione limita deliberatamente il tipo di informazioni che condividerà con un client non riservato.

    
risposta data 04.03.2018 - 05:57
fonte
0

"altri requisiti di autenticazione" si riferisce probabilmente ai metodi di autenticazione, diversi dalle credenziali del client (ID client e segreto client). Ad esempio, l'autenticazione del client (con certificati).

    
risposta data 01.08.2018 - 16:42
fonte

Leggi altre domande sui tag