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?