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.
Wie der AWS WAF Handy SDK funktioniert
In diesem Abschnitt wird erklärt, wie der AWS WAF SDKKlassen, Eigenschaften und Operationen für mobile Geräte arbeiten zusammen.
Das Handy SDKs bietet Ihnen einen konfigurierbaren Token-Anbieter, den Sie zum Abrufen und Verwenden 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 senden AWS Ressourcen, 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 in der mobilen Version enthalten sindSDK. Die SDK Spezifikation finden Sie unterAWS 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 aufrufengetToken()
und die Aktualisierung im Hintergrund deaktiviert ist, ruft der Aufruf synchron ein neues Token von ab AWS WAF. Dies ist ein potenziell blockierender Anruf, der die Reaktionsfähigkeit der App beeinträchtigen kann, wenn Sie ihn im Haupt-Thread aufrufen. -
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 sofortmaxErrorTokenRefreshDelayMsec
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.