Ver Mensaje Individual
  #1 (permalink)  
Antiguo 22/02/2011, 16:05
Avatar de Nemutagk
Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 20 años, 1 mes
Puntos: 406
Desarrollar e implementar API

Que tal compañeros, antes que nada, no estoy del todo seguro que este post este en el foro correcto, lo coloco aquí ya que es en el lenguaje en que lo desarrollaré, si esta mal, favor de moverlo.

Bueno, el tema es el siguiente, estoy desarrollando un servicio que se podrá consumir desde la propia página web pero también desde celulares/móviles, con lo cual se va a desarrollar clientes nativos para los diferentes SO, para lo cual estoy desarrollando la idea de implementar una API que sea consumida desde los diferentes clientes que se van a desarrollar, mi duda y/o problema es que por el momento la API solo pueda ser consumida por los clientes oficiales así como la página, cualquier intento de acceder a la API desde otros clientes/páginas se rechazaría la conexión o simplemente no entregaría respuesta alguna, desde páginas web lo tengo resuelto, pero no desde otros clientes, mi duda es:

Como implementar y desarrollar una API que por medio de alguna validación asegurarse que el que se conecta son los clientes oficiales y no otra aplicación que solo quiere consumir el servicio, eh estado pensando varias formas, pero siempre le encuentro una manera sencilla de saltar dicha validación, por ejemplo, implementar un sistema de tokens, pero simplemente snifeando la red se podrían obtener la lista de tokens que traería cada cliente, con lo cual al final podrían conectarse cualquier otra aplicación a la API y esta ni se enteraría...

Se que no existe una solución infalible, tampoco la estoy buscando, pero si al menos un sistema que no sea tan fácil de romper.

Cualquier duda/comentario/respuesta es bienvenida!!!
__________________
Listo?, tendría que tener 60 puntos menos de IQ para considerarme listo!!!
-- Sheldon Cooper
http://twitter.com/nemutagk
PD: No contestaré temas vía mensaje personal =)