Autorizando una aplicación de Android para realizar operaciones en el servidor back-end

0

Los usuarios de mi aplicación de Android pueden pagar (usando Paypal o facturación en la aplicación) para encender un LED en una ubicación remota. Los LEDs son controlados, en cada una de las ubicaciones, por Arduinos conectados a Internet.

Cuando un usuario paga, la aplicación envía una solicitud al servidor, que contiene la cantidad de dinero pagado. El servidor, a su vez, es responsable de enviar una solicitud POST al Arduino correcto.

Dado que cualquiera puede descompilar la aplicación y descubrir cómo realizar una solicitud al servidor con una cantidad arbitraria de dinero pagado, ¿cómo puede asegurarse este intercambio?

  • La autorización del usuario y de la contraseña (con valores hardcored) no funcionará, porque el usuario y la contraseña solo se pueden extraer de la aplicación
  • La incrustación de un archivo de clave no funcionará por el mismo motivo
  • La autorización basada en cuentas de Google no funcionará porque necesito autorizar la aplicación, no el usuario (es decir, el usuario puede usar esas credenciales para realizar una solicitud arbitraria fuera de la aplicación, lo cual no es deseable)

Pensé en aprovechar la "confirmación de pago" de los proveedores de pagos para garantizar que se realice un pago, pero este pago se realiza desde la aplicación, por lo que no sé si puede ser seguro. ¿Debo usar una "URL de retorno" para que Paypal (por ejemplo) realice la solicitud al servidor?

Gracias.

    
pregunta JoelSanchez 06.07.2016 - 09:17
fuente

1 respuesta

0

Procese o verifique el lado del servidor de pago. Esto funciona para paypal y afaik: su servidor también puede ver las compras dentro de la aplicación de una aplicación autorizada y un usuario específico. Simplemente profundice en la documentación de PayPal, Google Play e.t.c

    
respondido por el marstato 06.07.2016 - 12:30
fuente

Lea otras preguntas en las etiquetas