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!!!