¿Secreto del consumidor de Oauth?

5

Al utilizar OAuth, tiene una clave de consumidor y un secreto de consumidor para identificar su aplicación y el usuario proporciona un token de acceso de OAuth y un secreto para autenticar el acceso de su aplicación a su cuenta, por ejemplo, Twitter. Digamos que está desarrollando una aplicación de escritorio en Python que tiene la funcionalidad de Twitter que usa OAuth. ¿Cómo es posible mantener en secreto la clave de su consumidor? ¿Es tan malo si no se mantiene en secreto? ¿Cuáles son las alternativas aquí además de pedir a los usuarios que registren sus propias aplicaciones de Twitter y utilicen su propia clave y secreto del consumidor?

    
pregunta iiSeymour 11.10.2013 - 16:41
fuente

1 respuesta

1

No importa qué lenguaje de programación use, si el secreto del consumidor está en algún lugar dentro del binario, se puede recuperar.

Si está simplemente codificado en la fuente, un simple $ strings -a app.exe le dará una lista de cadenas en el binario. El secreto del consumidor será uno de ellos.

La ofuscación puede disuadir a los fisgones ocasionales, pero si se les da suficiente tiempo y recursos, se pueden extraer.

  

¿Es tan malo si no se mantiene en secreto?

Alguien en posesión de su clave de consumidor / par secreto puede hacerse pasar por su aplicación, abusar de cualquier restricción que tenga la API de Twitter, lo que podría hacer que su aplicación sea inutilizable para otros usuarios y, finalmente, ser incluida en la lista negra sup>

  

¿Cuáles son las alternativas aquí además de pedir a los usuarios que registren su propio Twitter > Aplicaciones y utilizar su propia clave de consumidor y secreto.

En lugar de que la propia aplicación realice llamadas a la API de Twitter, puede tener un servicio de proxy al que le envía el par de token / secret o para que realice las llamadas a la API necesarias, devolviendo los datos al usuario. (Como se menciona en el subproceso de stackoverflow relevante )

1. enlace

    
respondido por el Kedar 18.10.2013 - 07:33
fuente

Lea otras preguntas en las etiquetas