Avisos

Programación y Desarrollo para Android Subforo exclusivo para temas de programación de software para PDAs y desarrollo de aplicaciones, interfaces, etc bajo Android

Respuesta
 
Herramientas
  #1  
Viejo 04/12/19, 02:45:49
Array

[xs_avatar]
s_coco s_coco no está en línea
Usuario poco activo
 
Fecha de registro: dic 2019
Mensajes: 2
Tu operador: Movistar

Seguridad Google Auth y servidor RESTFUL

Buenas, ya he hecho otras aplicaciones para Android, pero nunca he tenido que preocuparme por la seguridad hasta ahora. He encontrado tutoriales y he añadido Google Auth pero a partir de ahí me pierdo y necesito un poco de ayuda.

Cliente -> Android puro
Servidor -> RESTFUL PHP

Para el login uso la cuenta de google con Firebase. Cuando lanzo la aplicación Android, Firebase me devuelve un token con la información del usuario, una fecha y una fecha de expiración (1 hora). Ese token lo envío a mi servidor para validar.

A partir de aquí no tengo claro como realizar la comunicación segura:

1º - En cada petición https del cliente al servidor enviar el token de Firebase para que el servidor lo decodifique, compruebe la identidad y que no haya expirado. Para decodificar el token debo recoger las claves públicas proporcionadas por Google en una url, además recibes 2 claves y debes probar para dar con la buena, me parece algo excesivo si el servidor recibe muchas consultas. En esta app envío texto y archivos al servidor, pero la siguiente necesita de mensajería, así que tendré una petición por cada mensaje, y eso son muchas muchas peticiones.

2º - Cuando mi servidor reciba el token de Firebase (login) debe devolver un nuevo token (generado por el servidor) que el cliente debe enviar en cada petición https al servidor hasta que expire. En el servidor hay que decodificar el token pero no hacer consulta a google para recuperar las 2 claves.

No sé si alguno de estos 2 caminos es el correcto, en cualquier caso necesito que tras el login con Firebase la comunicación sea segura entre cliente y servidor.

Gracias de antemano.
Responder Con Cita


  #2  
Viejo 04/12/19, 16:27:56
Array

[xs_avatar]
s_coco s_coco no está en línea
Usuario poco activo
 
Fecha de registro: dic 2019
Mensajes: 2
Tu operador: Movistar

La opción correcta es la 2º.

Aunque haya que hacer una consulta a google por cada petición para decodificar el token, la verdadera razón es que el token que genera el servidor puede contener otros datos relativo a la aplicación: permisos, perfil, o lo que nos interese.

Para generar los Token en el servidor PHP jwt

composer require firebase/php-jwt
Responder Con Cita
Respuesta

Estás aquí
Regresar   Portal | Indice > Todo sobre Android > Programación y Desarrollo para Android

Herramientas


Hora actual: 13:51:53 (GMT +2)



User Alert System provided by Advanced User Tagging (Lite) - vBulletin Mods & Addons Copyright © 2021 DragonByte Technologies Ltd.