Cómo el AWS WAF SDKfunciona el móvil - AWS WAF, AWS Firewall Manager, y AWS Shield Advanced

Las traducciones son generadas a través de traducción automática. En caso de conflicto entre la traducción y la version original de inglés, prevalecerá la version en inglés.

Cómo el AWS WAF SDKfunciona el móvil

En esta sección se explica cómo AWS WAF SDKlas clases, propiedades y operaciones móviles funcionan en conjunto.

Los dispositivos móviles le SDKs proporcionan un proveedor de fichas configurable que puede utilizar para recuperar y utilizar las fichas. El proveedor de los tokens verifica que las solicitudes que permita procedan de clientes legítimos. Cuando envías solicitudes al AWS recursos con los que proteges AWS WAF, incluyes el token en una cookie para validar la solicitud. Puede gestionar la cookie de token manualmente o dejar que el proveedor de tokens lo haga por usted.

En esta sección se describen las interacciones entre las clases, las propiedades y los métodos que se incluyen en el dispositivo móvilSDK. Para obtener información SDK sobre la especificación, consulteAWS WAF SDKespecificación móvil.

Recuperación de tokens y almacenamiento en caché

Cuando crea la instancia del proveedor de tokens en su aplicación para móviles, configura la forma en que quiere que administre los tokens y su recuperación. Su principal opción es cómo mantener los tokens válidos y vigentes para usarlos en las solicitudes web de su aplicación:

  • Actualización en segundo plano habilitada Es el valor predeterminado. El proveedor del token actualiza automáticamente el token en segundo plano y lo guarda en caché. Con la actualización en segundo plano habilitada, cuando llama getToken(), la operación recupera el token almacenado en caché.

    El proveedor de tokens actualiza el token a intervalos configurables, de modo que siempre haya un token vigente en la memoria caché mientras la aplicación esté activa. La actualización en segundo plano se detiene mientras la aplicación está inactiva. Para obtener información acerca de este tema, consulte Recuperación de un token tras la inactividad de la aplicación.

  • Actualización en segundo plano desactivada: puede deshabilitar la actualización de los tokens en segundo plano y, a continuación, recuperarlos solo cuando lo solicite. Los tokens recuperados bajo demanda no se almacenan en caché y, si lo desea, puede recuperar más de uno. Cada token es independiente de los demás que recupere y cada uno tiene su propia marca de tiempo que se utiliza para calcular el vencimiento.

    Dispone de las siguientes opciones para recuperar el token cuando la actualización en segundo plano está desactivada:

    • getToken()— Cuando llamas getToken() con la actualización en segundo plano desactivada, la llamada recupera sincrónicamente un nuevo token de AWS WAF. Se trata de una llamada potencialmente bloqueante que puede afectar a la capacidad de respuesta de la aplicación si la invocas en el hilo principal.

    • onTokenReady(WAFTokenResultCallback): esta llamada recupera de forma asíncrona un nuevo token y, a continuación, invoca la devolución de llamada resultante proporcionada en un hilo en segundo plano cuando el token está listo.

Cómo reintenta el proveedor de tokens las recuperaciones de tokens fallidas

El proveedor de tokens vuelve a intentar recuperar el token automáticamente cuando se produce un error en la recuperación. Los reintentos se realizan inicialmente mediante un retroceso exponencial con un tiempo de espera de reintento inicial de 100 ms. Para obtener información sobre los reintentos exponenciales, consulte Reintentos de error y retrocesos exponenciales en AWS.

Cuando el número de reintentos alcanza el valor maxRetryCount configurado, el proveedor de tokens deja de intentarlo o pasa a intentarlo cada maxErrorTokenRefreshDelayMsec milisegundos, según el tipo de recuperación del token:

  • onTokenReady(): el proveedor de tokens pasa a esperar maxErrorTokenRefreshDelayMsec milisegundos entre intentos y continúa intentando recuperar el token.

  • Actualización en segundo plano: el proveedor del token pasa a esperar maxErrorTokenRefreshDelayMsec milisegundos entre intentos y continúa intentando recuperar el token.

  • Llamadas getToken() bajo demanda, cuando la actualización en segundo plano está desactivada: el proveedor de tokens deja de intentar recuperar un token y devuelve el valor del token anterior o un valor nulo si no hay ningún token anterior.

Recuperación de un token tras la inactividad de la aplicación

La actualización en segundo plano solo se realiza mientras la aplicación se considera activa para el tipo de aplicación:

  • iOS: la actualización en segundo plano se realiza cuando la aplicación está en primer plano.

  • Android: la actualización en segundo plano se realiza cuando la aplicación no está cerrada, ya sea en primer plano o en segundo plano.

Si la aplicación permanece en un estado que no admite la actualización en segundo plano durante más de los tokenRefreshDelaySec segundos configurados, el proveedor de tokens detiene la actualización en segundo plano. Por ejemplo, en el caso de una aplicación de iOS, si tokenRefreshDelaySec es 300 y la aplicación se cierra o pasa a segundo plano durante más de 300 segundos, el proveedor de tokens deja de actualizar el token. Cuando la aplicación vuelve a un estado activo, el proveedor de tokens reinicia automáticamente la actualización en segundo plano.

Cuando su aplicación vuelva a estar activa, llame a onTokenReady() para recibir una notificación cuando el proveedor de tokens recupere y almacene en caché un nuevo token. No se limites a llamar a getToken(), ya que es posible que la caché aún no contenga un token válido actual.