Cómo autorizar a un cliente público

0

He creado una aplicación que está expuesta a través de un servicio web y un cliente de Android que se comunica con ese servicio web. ¿Hay alguna forma de que el cliente se autentique con el servicio web para que el servicio web sepa que se está comunicando con la aplicación de Android que escribí y no como una aplicación que se hace pasar por mi aplicación de Android?

    
pregunta redwoolf 01.05.2017 - 02:07
fuente

2 respuestas

3

No puedes impedir que alguien imite la aplicación de manera efectiva. Incluso si  establece algún tipo de "token de aplicación secreta" que solo utiliza la aplicación y encripta el  comunicación, todavía será posible aplicar ingeniería inversa a estas medidas con un esfuerzo manejable y simulado  el comportamiento de la aplicación.

    
respondido por el David Waters 06.05.2017 - 02:09
fuente
0

Puede agregar un certificado del lado del cliente a la comunicación TLS (https). Al usarlo por primera vez, su aplicación recupera un certificado del servidor. Para solicitudes posteriores, la aplicación debe presentar su certificado en el protocolo de enlace TLS.

Sin embargo, debe asegurarse de que solo los usuarios válidos obtengan un certificado de cliente (es decir, una contraseña única a través de SMS / texto). Y necesitas guardar el certificado de forma segura.

    
respondido por el Markus Müller 01.05.2017 - 16:20
fuente

Lea otras preguntas en las etiquetas