So funktioniert das SDK AWS WAF für Mobilgeräte - AWS WAFAWS Firewall Manager, und AWS Shield Advanced

Die vorliegende Übersetzung wurde maschinell erstellt. Im Falle eines Konflikts oder eines Widerspruchs zwischen dieser übersetzten Fassung und der englischen Fassung (einschließlich infolge von Verzögerungen bei der Übersetzung) ist die englische Fassung maßgeblich.

So funktioniert das SDK AWS WAF für Mobilgeräte

Die SDKs für Mobilgeräte bieten Ihnen einen konfigurierbaren Token-Anbieter, den Sie für den Abruf und die Verwendung von Token verwenden können. Der Token-Anbieter überprüft, ob die von Ihnen zugelassenen Anforderungen von legitimen Kunden stammen. Wenn Sie Anfragen an die AWS Ressourcen senden, mit denen Sie sich schützen AWS WAF, fügen Sie das Token in ein Cookie ein, um die Anfrage zu validieren. Sie können das Token-Cookie manuell bearbeiten oder die Bearbeitung dem Token-Anbieter überlassen.

In diesem Abschnitt werden die Interaktionen zwischen den Klassen, Eigenschaften und Methoden behandelt, die im mobilen SDK enthalten sind. Informationen zur SDK-Spezifikation finden Sie unter Die AWS WAF mobile SDK-Spezifikation.

Abrufen und Caching von Token

Wenn Sie die Instance des Token-Anbieters in Ihrer mobilen App erstellen, konfigurieren Sie, wie Sie Token und den Abruf von Token verwalten möchten. In erster Linie müssen Sie festlegen, wie gültige, nicht abgelaufene Token für die Verwendung in den Webanforderungen Ihrer App gepflegt werden sollen:

  • Hintergrundaktualisierung aktiviert: Das ist die Standardeinstellung. Der Token-Anbieter aktualisiert das Token automatisch im Hintergrund und speichert es im Cache. Bei aktivierter Hintergrundaktualisierung wird das zwischengespeicherte Token abgerufen, wenn Sie getToken() aufrufen.

    Der Token-Anbieter führt die Token-Aktualisierung in konfigurierbaren Intervallen durch, sodass ein nicht abgelaufenes Token immer im Cache verfügbar ist, während die Anwendung aktiv ist. Die Hintergrundaktualisierung wird angehalten, während sich Ihre Anwendung in einem inaktiven Zustand befindet. Weitere Informationen hierzu finden Sie unter Abrufen eines Tokens nach App-Inaktivität.

  • Hintergrundaktualisierung deaktiviert: Sie können die Hintergrundaktualisierung von Token deaktivieren und Token nur bei Bedarf abrufen. Bei Bedarf abgerufene Token werden nicht zwischengespeichert und Sie können mehrere abrufen, falls gewünscht. Jedes Token ist unabhängig von anderen abgerufenen Token und verfügt jeweils über einen eigenen Zeitstempel, der zur Berechnung des Ablaufs verwendet wird.

    Sie haben die folgenden Möglichkeiten für den Token-Abruf, wenn die Hintergrundaktualisierung deaktiviert ist:

    • getToken()— Wenn Sie bei deaktivierter Aktualisierung im Hintergrund aufrufengetToken(), ruft der Aufruf synchron ein neues Token von ab. AWS WAF Dabei handelt es sich um einen potenziell blockierenden Aufruf, der sich im Hauptthread auf die Reaktionsfähigkeit der App auswirken kann.

    • onTokenReady(WAFTokenResultCallback): Bei diesem Aufruf wird asynchron ein neues Token abgerufen. Das bereitgestellte Ergebnis-Callback wird dann in einem Hintergrund-Thread aufgerufen, wenn ein Token bereit ist.

Wiederholen fehlgeschlagener Token-Abrufe durch den Token-Anbieter

Der Token-Anbieter wiederholt den Token-Abruf automatisch erneut, wenn er fehlgeschlagen ist. Wiederholungen werden zunächst mit exponentiellem Backoff mit einer Wartezeit von 100 ms durchgeführt. Hinweise zu exponentiellen Wiederholungen finden Sie unter Fehlerwiederholungen und exponentielles Backoff in. AWS

Wenn die Anzahl der Wiederholungen die konfigurierte maxRetryCount erreicht, stellt der Token-Anbieter die Versuche entweder ein oder versucht es ab sofort alle maxErrorTokenRefreshDelayMsec Millisekunden, abhängig von der Art des Token-Abrufs:

  • onTokenReady(): Der Token-Anbieter wartet ab sofort maxErrorTokenRefreshDelayMsec Millisekunden zwischen den einzelnen Versuchen und versucht weiterhin, das Token abzurufen.

  • Hintergrundaktualisierung: Der Token-Anbieter wartet ab sofort maxErrorTokenRefreshDelayMsec Millisekunden zwischen den einzelnen Versuchen und versucht weiterhin, das Token abzurufen.

  • On-Demand-getToken()-Aufrufe, wenn die Hintergrundaktualisierung deaktiviert ist: Der Token-Anbieter versucht nicht mehr, ein Token abzurufen, und gibt den Wert des vorherigen Tokens oder einen Nullwert zurück, wenn kein vorheriges Token vorhanden ist.

Abrufen eines Tokens nach App-Inaktivität

Die Hintergrundaktualisierung wird nur durchgeführt, während Ihre App für Ihren App-Typ als aktiv gilt:

  • iOS: Die Hintergrundaktualisierung wird durchgeführt, wenn sich die App im Vordergrund befindet.

  • Android: Die Hintergrundaktualisierung wird durchgeführt, wenn die App nicht geschlossen wird, unabhängig davon, ob sie sich im Vordergrund oder im Hintergrund befindet.

Wenn Ihre App in einem Zustand verbleibt, der die Hintergrundaktualisierung länger als die konfigurierten tokenRefreshDelaySec Sekunden nicht unterstützt, unterbricht der Token-Anbieter die Hintergrundaktualisierung. Wenn beispielsweise für eine iOS-App die tokenRefreshDelaySec 300 beträgt und die App geschlossen wird oder länger als 300 Sekunden in den Hintergrund versetzt wird, aktualisiert der Token-Anbieter das Token nicht mehr. Wenn die App in einen aktiven Zustand zurückkehrt, startet der Token-Anbieter die Hintergrundaktualisierung automatisch neu.

Wenn Ihre App wieder in einen aktiven Zustand zurückkehrt, rufen Sie onTokenReady() auf, um benachrichtigt zu werden, wenn der Token-Anbieter ein neues Token abgerufen und zwischengespeichert hat. Rufen Sie nicht einfach getToken() auf, da der Cache möglicherweise noch kein aktuelles, gültiges Token enthält.