Para abordar específicamente el escenario, Facebook no necesita esperar hasta que un usuario inicie sesión para capturar un token de OAuth. Ya que confía en Facebook como su proveedor de autenticación, pueden generar un token OAuth válido para cualquier usuario en su sistema cuando lo deseen.
Dado que, hay tres respuestas potencialmente correctas aquí.
-
Esto no es una amenaza, porque está fuera de su modelo de amenaza, o es un riesgo insignificante. En la mayoría de los casos, esta será la respuesta correcta. Está fuera de su modelo de amenaza, porque asume que Facebook está autentificando correctamente a las personas y si obtiene un token de OAuth de ellos, es para el usuario autenticado para el que dicen que es. Es un riesgo insignificante porque es poco probable que Facebook se preocupe por los datos de su aplicación, y es poco probable que incluso si lo hacen, estén dispuestos a abusar de un sistema en el que hayan gastado una gran cantidad de dinero para construir y operar, y eso es popular solo porque es de confianza. Eso derrotaría su objetivo más grande y más valioso de tener sus dedos en cada rincón de la web.
-
Es una amenaza y puede mitigarse con un segundo factor de autenticación. Si este es un riesgo suficientemente grave para su aplicación por cualquier razón, puede mitigarla para los usuarios existentes de su aplicación al requerir un segundo factor de autenticación sobre el que Facebook no tiene control, de modo que no confíe únicamente en OAuth simbólico.
-
Si es una amenaza seria, no uses Facebook OAuth en absoluto. Si realmente no confías en ellos, entonces no uses su sistema. Simple como eso. Si los datos de su aplicación son tan confidenciales que justifican que se requieran usos para crear un nuevo conjunto de credenciales, haga que lo hagan.
Dicho todo esto, la gran mayoría de los casos caerán en el escenario 1. Primero, cuando elige usar OAuth de Facebook, lo hace para no tener que preocuparse por la autenticación. y las amenazas a la autenticación (en su mayor parte) se vuelven externas. Además, la idea de que Facebook abusaría del sistema para dañarlo a usted o a sus usuarios es más una trama ficticia que una amenaza real, y la probabilidad real de que eso ocurra es generalmente insignificante y no vale la pena el costo, el esfuerzo y la complejidad de mitigar .