Estoy escribiendo una aplicación de back-end con API REST para iPhone y Android. Es una API interna.¿Cuál es la mejor manera de implementar una API REST de registro para iPhone/Android?
En este punto, estoy tratando de implementar una API de registro de usuario para que el usuario pueda registrarse desde la aplicación móvil.
Estoy escribiendo usando Django y con Django vienen con la falsificación de solicitudes entre sitios para la solicitud web. Tengo que desactivarlo para API REST, usando django-piston.
Entonces, ¿cómo puedo proteger mi API de registro de spam? ¿acelerador? captcha? ¿Cuál es la mejor práctica para implementar una API de registro? ¿Cuál es el peligro?
Una sugerencia surgió fue cargar una vista web en la aplicación móvil y tener un formulario de registro web móvil para poder implementar CSRF. Es una solución, pero no muy buena, ya que tengo que crear una página de diseño para cada dispositivo móvil o una genérica que podría no ser adecuada para todos los dispositivos.
Se agradecen muchas ayuda.
Saludos, Mickey
solo por curiosidad, ¿cuál es el motivo por el cual no se puede usar el captcha? en el nivel de API REST? –
Sin duda es posible, pero tendría que obtener la imagen del captcha a través de REST, mostrarla al usuario y luego obtener la respuesta en la próxima llamada. Creo que es algo para lo que una API no es ideal, ya que necesitas una sesión. No me gusta tener que mantener el estado entre llamadas API. Quizás solo soy yo. –
De acuerdo con las llamadas a API sin estado (que es uno de los principios fundamentales de REST!). Sin embargo, si imprimiera su propia capcha, no hay ninguna razón por la cual no podría devolver un "token" (por ejemplo, un hash salado MD5 de la respuesta) junto con el URI de la imagen capcha. Luego, haga que su aplicación móvil verifique con la API enviando la respuesta de los usuarios junto con el hash original que se emitieron. –