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.
En esta sección se explica cómo funcionan juntas las clases, propiedades y operaciones del SDK AWS WAF móvil.
Los dispositivos móviles te SDKs proporcionan un proveedor de tokens configurable que puedes usar para recuperar y usar los tokens. El proveedor de los tokens verifica que las solicitudes que permita procedan de clientes legítimos. Cuando envías solicitudes a los 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 SDK para móviles. Para obtener información sobre la especificación del SDK, consulte AWS WAF especificación de SDK 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 llamasgetToken()
con la actualización en segundo plano desactivada, la llamada recupera un nuevo token de forma sincrónica. AWS WAF Se trata de una llamada que puede bloquear y que puede afectar a la capacidad de respuesta de la aplicación si se invoca 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 acerca de las recuperaciones exponenciales, consulte Reintentos de error y retroceso exponencial 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 esperarmaxErrorTokenRefreshDelayMsec
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.