Foros del Web » Programando para Internet » PHP »

Desarrollar e implementar API

Estas en el tema de Desarrollar e implementar API en el foro de PHP en Foros del Web. 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 ...
  #1 (permalink)  
Antiguo 22/02/2011, 15:05
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 15 años, 6 meses
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 =)
  #2 (permalink)  
Antiguo 22/02/2011, 15:07
 
Fecha de Ingreso: diciembre-2010
Mensajes: 788
Antigüedad: 8 años, 10 meses
Puntos: 50
Respuesta: Desarrollar e implementar API

Lo mejor es tener usuario y contraseña y manejarlo con un token único generado en el login, así funciona la mayoría.
  #3 (permalink)  
Antiguo 22/02/2011, 15:12
Avatar de pateketrueke
Modernizr
 
Fecha de Ingreso: abril-2008
Ubicación: Mexihco-Tenochtitlan
Mensajes: 26.399
Antigüedad: 11 años, 6 meses
Puntos: 2534
Respuesta: Desarrollar e implementar API

hmmm... una pregunta un poco mas objetiva, ¿has empleado tu alguna API existente? ¿estás familiarizado con el concepto?

lo digo porque el ejemplo mas básico, y muy bueno al respecto es el de la API de Twitter/Facebook por supuesto!!

sobre todo, emplear OAuth es una muy buena forma de ofrecer acceso a nuestras aplicaciones, servicios, etc.
__________________
Y U NO RTFM? щ(ºдºщ)

No atiendo por MP nada que no sea personal.
  #4 (permalink)  
Antiguo 22/02/2011, 15:13
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 15 años, 6 meses
Puntos: 406
Respuesta: Desarrollar e implementar API

Gracias por responder!!!

Referente al método de usuario/contraseña y token es el primero que pensé, pero con un pequeño esfuerzo de ingeniería inversa se puede emular cualquier dispositivo y al final seria lo mismo que no implementar seguridad alguna, creo que mas bien, lo que busco es una manera de identificar quien es el que manda la solicitud, por ejemplo, en conexiones web se puede verificar que dominio es el que manda la solicitud, con esto se puede saber si es un cliente "oficial" o no

De todas maneras gracias por contestar
__________________
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 =)
  #5 (permalink)  
Antiguo 22/02/2011, 15:21
Avatar de Nemutagk
Colaborador
 
Fecha de Ingreso: marzo-2004
Ubicación: México
Mensajes: 2.633
Antigüedad: 15 años, 6 meses
Puntos: 406
Respuesta: Desarrollar e implementar API

Que tal @pateketrueke!!! respecto a tu pregunta claro que eh consumido varias servicios (API's), como el de Twitter, y varios de Google, y en la teoría se como funcionan hasta cierto punto, pero como en el ultimo post que publique, mi duda ya concentrada es como identificar quien es el que solicita el servicio, y como puedo evitar que "clones" consuman el servicio o al menos dificultarles todo lo posible el hacerlo

De hecho la primera API a la que voltee a ver fue la de Twitter, pero aun sigo viendo como funciona su lógica en cuanto a la autentificación
__________________
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 =)
  #6 (permalink)  
Antiguo 14/09/2012, 00:22
Avatar de vecamar  
Fecha de Ingreso: junio-2012
Mensajes: 17
Antigüedad: 7 años, 4 meses
Puntos: 0
Respuesta: Desarrollar e implementar API

Hola!
Disculpen que me meta, pero no sé dónde preguntar mi duda. ¿para qué sirve la/el API? ¿Tiene que ver con programas de afiliados? En google no encuentro una respuesta que me explique bien para qué sirve y cómo se usa. Es que tengo un sitio de venta de libros online, más bien, de afiliados de amazon, con sus banner y enlaces a productos. Pero al hacer clic en ellos se van de mi sitio y no quiero. Entonces quizás mi solución sea que compren desde mi sitio, teniendo API de amazon.
Disculpen si estoy diciendo una tontería, pero no conozco este concepto. Agradecería mucho si pueden ayudarme.
Saludos!

Etiquetas: api, desarrollar, implementar
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta

SíEste tema le ha gustado a 2 personas




La zona horaria es GMT -6. Ahora son las 18:41.