¿Cómo asegurar las API de token de actualización?

2

Tengo dos API utilizadas en auth :

  1. api/auth/newtoken : valida correctamente el usuario (es decir, la verificación de nombre de usuario y contraseña en la base de datos) y devuelve token (caduca en 3 días) y refreshToken .
  2. api/auth/updatetoken : cuando el token haya caducado, llame a esta API con refreshToken y obtenga el nuevo token .

¿Cómo puedo proteger la API api/auth/updatetoken ? Actualmente, estas API son para una aplicación de Android y será fácil obtenerlas una vez que completemos la aplicación.

¿Cuáles son algunos enfoques mejores para asegurar esta API?

    
pregunta iam batman 17.11.2017 - 05:44
fuente

1 respuesta

2

No hay manera de "proteger" la API a menos que usted controle todos los dispositivos que pueden conectarse a ella. Para una API que permita el uso de dispositivos propiedad del usuario que se conectan a través de Internet, debe asumir que cualquiera puede enviarle cualquier cosa.

Tienes dos opciones aquí -

  • No caduquen los tokens y deseche la llamada uptatetoken.
  • updatetoken requiere un token válido existente. Si ha caducado, se debe volver a llamar a newtoken y el usuario debe volver a autenticarse.

Personalmente, si no hay un cliente de navegador web (e incluso con uno, solo le daría a los clientes de un navegador web un token de caducidad) sugeriría el primero. El token solo se debe colocar en el dispositivo del cliente, almacenado en el llavero del dispositivo, por lo que debe estar seguro. Mientras tanto, si alguien lo ha interceptado, puede llamar a updatetoken para que deje de caducar.

    
respondido por el Hector 17.11.2017 - 10:07
fuente

Lea otras preguntas en las etiquetas