I flussi basati su browser sono richiesti per la maggior parte degli standard di autenticazione basati su IdP?

1

Mi scuso in anticipo per la natura sconclusionata di questa domanda, ho letto molto su SAML e OIDC e altri standard, cercando solo di capire perché i browser sembrano essere così essenziali per loro.

Ho letto e fatto ricerche su diversi flussi di autenticazione e autorizzazione (SAML e OpenID Connect sono specifici).

Supponendo che sto costruendo un'applicazione basata sul Web che utilizza un altro provider per eseguire l'autenticazione (Okta, Ping Federate, ecc.), sia SSO che utilizzano SAML e OIDC sembrano avere flussi che comportano il reindirizzamento all'IdP per fornire l'autentica autenticazione per l'utente.

In seguito, SAML sembra utilizzare ulteriori reindirizzamenti del browser per eseguire l'autorizzazione per il mio server, mentre OIDC può utilizzare le chiamate API REST utilizzando il token di scambio o il token di accesso o qualsiasi altra cosa senza più il reindirizzamento del browser.

La mia domanda è: perché il browser deve essere utilizzato con l'IdP quando si esegue l'autentica autenticazione. Comprendo che l'unico modo per garantire che le credenziali dell'utente non vengano rubate lungo il percorso è che l'IdP ha il controllo assoluto su di esso e non lo espone mai a nessuna delle altre app coinvolte. Ma ci sono standard generalmente accettabili e moderni che comportano, per esempio, solo chiamate API REST o in qualche modo che non implichino reindirizzamenti del browser? Per esempio, scrivo la mia pagina per catturare il nome utente / password, che poi POSTO su un IdP.

O è opinione generale che il browser debba reindirizzare almeno una volta l'IdP per verificare che tu sia addirittura autenticato, e poi se la pagina richiedente è autorizzata a utilizzare l'utente attualmente autenticato nell'IdP.

TL; DR: Esistono standard Auth che non richiedono un reindirizzamento del browser all'IdP, oppure tutti gli standard di autorizzazione accettati generalmente lo richiedono?

    
posta kiplaaang 24.09.2018 - 19:58
fonte

1 risposta

1

I protocolli SSO reindirizzano il browser all'IdP perché il browser deve ricevere il cookie di sessione WebSSO dal server Web di IdP (stessa origine). Altrimenti non sarebbe single sign-on e l'utente dovrebbe digitare la password per ogni login dell'applicazione.

Esistono due varianti relative ai dati di sessione effettivi forniti quando si reindirizza il browser all'applicazione (provider di servizi, SP breve):   - I protocolli per lo più vecchi forniscono solo un ID sessione univoco e lo SP verifica l'IDP, eventualmente recuperando alcuni altri attributi utente   - I nuovi protocolli includono anche attributi utente in un messaggio protetto dall'integrità (ad esempio firmato digitalmente) durante il reindirizzamento a SP

    
risposta data 26.09.2018 - 14:09
fonte

Leggi altre domande sui tag