Recentemente ho scoperto che le applicazioni nel nostro sistema utilizzavano semplicemente Oauth2 invece di OpenID Connect per autenticare gli utenti. Il caso d'uso originale era usare OAuth per consentire ai nostri utenti di autenticarsi sulle applicazioni utilizzando l'account dell'applicazione principale, che sono tutti sotto il nostro controllo.
Ci sono molti post sul fatto che OAuth sia un protocollo autorizzazione e come tale non dovrebbe essere usato per autenticazione . Mentre capisco la differenza tra le due nozioni, ho difficoltà a trovare informazioni su ciò che effettivamente è il rischio di farlo, e quale tipo di attacchi potrebbero essere fatti sul sistema e condurre in un utente che viene impersonato.
Tutto quello che riuscivo a trovare erano gli attacchi che non erano specifici del caso d'uso dell'autenticazione (CSRF durante la procedura di autorizzazione per esempio) o implicavano un'applicazione client malevola che riutilizzava l'autorizzazione dell'utente. Ma queste minacce sembravano pertinenti solo quando si utilizzavano servizi pubblici come Google o Facebook come provider di identità. Nel mio caso d'uso, sia il fornitore di identità che i clienti sono sotto controllo, negando in modo efficace la minaccia di un client di terze parti malintenzionato.
Quali sono i rischi associati all'uso di OAuth per autenticare utenti quando tutti i client sono sotto controllo?