Per come la vedo io, l'intero concetto di OAuth / SSO implica che gli utenti possano avere una password centrale che possono usare su una moltitudine di siti senza comprometterli perché in realtà stanno accedendo al servizio che ospita la loro password .
Ora, escludendo l'utilizzo dell'autenticazione a due fattori, in quanto l'utente medio non utilizza questa funzione e utilizza la funzionalità SSO di Google come esempio, ma rendendosi conto che questo si applica a ogni servizio simile:
Ciò che mi impedisce di scrivere un'app che informa semplicemente un utente che supportiamo l'accesso con Google e invece di reindirli alla pagina SSO appropriata, fornisco semplicemente un posto per il nome utente e la password di Google. Quindi emulo l'utente e autorizzo la mia app attraverso il normale processo SSO dietro le quinte, quindi niente sembra anormale e memorizzi anche il nome utente e la password Google sul mio server privato per scopi dannosi in seguito?
E se la risposta non è nulla mi fermerebbe, perché non è obbligatoria l'autenticazione a 2 fattori su tutte queste implementazioni?