Crear una herramienta de terceros que requiere el token de autenticación de un usuario para el servicio

0

Quiero eliminar los datos de Fanball.com para realizar un seguimiento de los jugadores de fútbol de fantasía que he reclutado y crear una visualización de mi exposición a diferentes jugadores. Esta es una herramienta que he visto solicitar a otras personas y me gustaría ponerla a disposición de otros usuarios. Para raspar los datos de tus ligas necesitas tu token de autenticación. ¿Qué debo hacer para crear esta herramienta para otras personas, de modo que pueda usar su token de autenticación de fanball para raspar los datos, sin tener siquiera el token de autenticación o una contraseña en mi servidor? En lugar de una aplicación web, ¿sería mejor crear una aplicación de escritorio que se conecte a la web? de esa manera, pueden ingresar su información y se almacena en su máquina?

    
pregunta Jacob Alley 03.04.2018 - 04:30
fuente

1 respuesta

0

A menos que el servidor se haya configurado para permitir este uso, es probable que el Intercambio de Recursos de Origen Cruzado (CORS) lo bloquee de inmediato. Nunca entendí completamente los vectores de ataque contra los que protege CORS, pero uno de ellos es el abuso de la misma situación que está sugiriendo: acceso a un sitio de terceros sin la aprobación del tercero o del usuario.

enlace

Para hacer lo que está pidiendo, dentro del marco de CORS, el servidor debería ser un participante activo. Deberían devolver los encabezados adecuados en una solicitud de OPCIONES previas al vuelo para admitir CORS para el dominio de su sitio.

Para algunos sitios, es posible que hayan configurado CORS para que sea muy permisivo y, por lo tanto, podría simplemente colarse. Pero tendrían que dejar la puerta abierta para usted.

Otra forma en la que podrían ayudarlo de forma voluntaria a lograr este tipo de interacción es proporcionar una API con soporte de OAuth. Luego, podría usar el "flujo implícito" de OAuth para autenticarse completamente en el navegador y nunca habría tenido acceso a su token. El flujo implícito es algo menos seguro, aunque ... por lo general, es mejor tener un servidor involucrado en las llamadas de API con OAuth. En ese caso, nunca habrías tenido su contraseña y tu acceso a la API podría estar limitado por el permiso que te dieron, pero su navegador no tendría el token que buscaban para ti.

Si desea realizar un raspado de un sitio que no es un participante voluntario, no debería poder hacerlo desde un navegador web sin acceder a su contraseña o token de autenticación. Una aplicación de escritorio podría ser el camino a seguir.

Si quieres ser sincero al respecto, puedes lanzar tu idea a Fanball.com y ver si te abren una API. Podría convencerlos de que su aplicación agregaría valor a su servicio.

    
respondido por el nbering 03.04.2018 - 05:47
fuente

Lea otras preguntas en las etiquetas