2010-01-15 12 views
9

Estoy trabajando como probador en un sistema basado en una API de reposo. Parte de mi trabajo consiste en utilizar diferentes aplicaciones para enviar archivos POST a la API Rest y luego acceder a la API directamente a través de Rest Client para verificar que el XML sea correcto.Cliente REST que puede manejar el inicio de sesión a través de oauth

Hasta ahora he estado usando el complemento RESTClient de firefox.

Pero ahora nos estamos deshaciendo de nuestro antiguo nombre de usuario a favor de Oauth. Todo esto está bien y todo, pero hace que las pruebas sean más difíciles ya que no puedo (¿no sé cómo?) Cómo acceder a la API de reposo utilizando el cliente REST que estoy usando. Y no sé de ningún otro cliente de REST que pueda hacer esto.

Necesito un navegador REST Client/REST que pueda manejar el inicio de sesión a través de oauth.

Actualización:
Hola. Todavía estoy buscando más buenos clientes REST que puedan manejar Oauth. Entonces, si conoces alguno, apreciaría una publicación a continuación.

Respuesta

1

Resulta que RESTCLient admite oauth pero que la nueva versión no se ha lanzado aún.

de partida de los códigos de SourceForge últimas
http://sourceforge.net/projects/restclient/develop
y usar esos archivos para reemplazar su RESTClient (que debe ser encontrado en el directorio de perfil de Firefox
http://support.mozilla.com/en-US/kb/Profiles#How_to_find_your_profile).

Nota: Tuve que hackear la fuente y eliminar los parámetros del "reino" ya que nuestro sistema no lo quería. De acuerdo con el dominio de las especificaciones de Oauth, es opcional y le pedí a los desarrolladores de RESTClient que lo hagan opcional en las versiones futuras.

1

No hay nada que le prohíba continuar la prueba de una API REST de forma manual cuando utiliza la autenticación OAuth. OAuth simplemente requiere que envíe parámetros adicionales: en primer lugar que se negocia la danza OAuth para obtener una solicitud de token y cambiarlo por un token de acceso y después de que cada solicitud tiene la necesaria OAuth parameters (oauth_consumer_key, oauth_token, oauth_signature_method, oauth_signature, oauth_timestamp y oauth_nonce) . Debería utilizar una herramienta separada para realizar la firma (a menos que el producto que está probando esté dispuesto a usar como método de firma), pero podría simplemente copiar todos estos valores manualmente en su herramienta manual actual.

Si eso le parece mucho trabajo, ¡tiene razón! Creo que este es un buen momento para pasar a las pruebas automatizadas. Libraries exist para que la mayoría de los idiomas consuman servicios de OAuth mediante programación y que manejen todos esos parámetros y firmen por usted. Podría construir una herramienta genérica que permita a un verificador manual especificar URL y parámetros a mano, o ir más allá y escribir algo que haya hecho toda la generación y validación automáticamente.

actualización: para hacer algunas pruebas de exploración de la línea de comandos, sin duda sería útil disponer de una herramienta que se encarga de curl -como algunos de los parametros de OAuth y firma. Consulte oauth-proxy, que puede funcionar para usted: está destinado exactamente para explorar API en la línea de comandos. O puede encontrar que para sus exploraciones particulares, desea construir un script en oauth-proxy o una herramienta en la parte superior de una de las muchas bibliotecas de OAuth para diferentes idiomas.

+0

Gracias por su buena respuesta. Temía que sería una traba usando nuestra herramienta actual y la confirmaste. Ya realizamos pruebas automáticas, pero también tenemos que realizar pruebas exploratorias manuales utilizando REST Client. No puedo creer que no haya una herramienta de código abierto para esto. –

+0

Sí, ese es un buen punto, @Jonas. A veces es necesario realizar pruebas exploratorias manuales de una API. Agregué un enlace a oauth-proxy a la respuesta que podría funcionar para usted, y estaría muy interesado en conocer otras herramientas de conveniencia. – npdoty

+0

Gracias por toda su ayuda. Logré encontrar una herramienta que pueda hacer lo que necesito. Ver mi respuesta a continuación. –

6

Yo también estaba buscando algo así y desde esta pregunta las cosas parecen haberse movido un poco.

estoy usando Chrome y la extensión RESTO consola funciona muy bien para mí:

https://chrome.google.com/webstore/detail/cokgbflfommojglbmbpenpphppikmonn

+1

Recomendaría Chrome POSTMAN sobre RESTClient ya que tiene pocos errores ((https://github.com/chao/RESTClient/issues/105)) que llevan a la firma no válida. – airboss

3

Soy autor de RESTClient, y ya empecé a desarrollar una nueva versión de RESTClient (versión 1.4. 0). La nueva versión será compatible con oAuth 2.0. Y será lanzado en abril.

+0

¿Estás hablando del complemento de Firefox? Me he dado cuenta de que muchos clientes de descanso se llaman RESTClient. Por ejemplo, WizzTools tiene un software también llamado RESTClient http://code.google.com/p/rest-client/ –

+1

Sí, acabo de enviar una nueva versión de RESTClient a Mozilla, pero todavía no he terminado oAuth 2.0. Espero terminarlo en este mes. – Chao

Cuestiones relacionadas