Cara kerja SDK AWS WAF seluler - AWS WAF, AWS Firewall Manager, dan AWS Shield Advanced

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Cara kerja SDK AWS WAF seluler

SDK seluler memberi Anda penyedia token yang dapat dikonfigurasi yang dapat Anda gunakan untuk pengambilan dan penggunaan token. Penyedia token memverifikasi bahwa permintaan yang Anda izinkan berasal dari pelanggan yang sah. Saat Anda mengirim permintaan ke AWS sumber daya yang Anda lindungi AWS WAF, Anda menyertakan token dalam cookie, untuk memvalidasi permintaan tersebut. Anda dapat menangani cookie token secara manual atau meminta penyedia token melakukannya untuk Anda.

Bagian ini mencakup interaksi antara kelas, properti, dan metode yang disertakan dalam SDK seluler. Untuk spesifikasi SDK, lihatSpesifikasi SDK AWS WAF seluler.

Pengambilan dan caching token

Saat membuat instance penyedia token di aplikasi seluler, Anda mengonfigurasi cara mengelola token dan pengambilan token. Pilihan utama Anda adalah cara mempertahankan token yang valid dan belum kedaluwarsa untuk digunakan dalam permintaan web aplikasi Anda:

  • Penyegaran latar belakang diaktifkan - Ini adalah default. Penyedia token secara otomatis menyegarkan token di latar belakang dan menyimpannya dalam cache. Dengan penyegaran latar belakang diaktifkan, saat Anda menelepongetToken(), operasi mengambil token yang di-cache.

    Penyedia token melakukan penyegaran token pada interval yang dapat dikonfigurasi, sehingga token yang belum kedaluwarsa selalu tersedia di cache saat aplikasi aktif. Penyegaran latar belakang dijeda saat aplikasi Anda dalam keadaan tidak aktif. Untuk informasi tentang ini, lihatMengambil token setelah aplikasi tidak aktif.

  • Penyegaran latar belakang dinonaktifkan — Anda dapat menonaktifkan penyegaran token latar belakang, dan kemudian mengambil token hanya sesuai permintaan. Token yang diambil sesuai permintaan tidak di-cache, dan Anda dapat mengambil lebih dari satu jika Anda mau. Setiap token independen dari token lain yang Anda ambil, dan masing-masing memiliki stempel waktu sendiri yang digunakan untuk menghitung kedaluwarsa.

    Anda memiliki pilihan berikut untuk pengambilan token saat penyegaran latar belakang dinonaktifkan:

    • getToken()— Saat Anda menelepon getToken() dengan penyegaran latar belakang dinonaktifkan, panggilan secara sinkron mengambil token baru dari. AWS WAF Ini adalah panggilan yang berpotensi memblokir yang dapat memengaruhi respons aplikasi jika Anda memanggilnya di utas utama.

    • onTokenReady(WAFTokenResultCallback)— Panggilan ini secara asinkron mengambil token baru dan kemudian memanggil panggilan balik hasil yang disediakan di utas latar belakang saat token siap.

Bagaimana penyedia token mencoba kembali pengambilan token yang gagal

Penyedia token secara otomatis mencoba kembali pengambilan token saat pengambilan gagal. Percobaan ulang awalnya dilakukan menggunakan backoff eksponensial dengan waktu tunggu coba lagi mulai 100 ms. Untuk informasi tentang percobaan ulang eksponensial, lihat Error retries dan exponential backoff di. AWS

Ketika jumlah percobaan ulang mencapai konfigurasimaxRetryCount, penyedia token berhenti mencoba atau beralih ke mencoba setiap maxErrorTokenRefreshDelayMsec milidetik, tergantung pada jenis pengambilan token:

  • onTokenReady()— Penyedia token beralih ke maxErrorTokenRefreshDelayMsec milidetik menunggu di antara upaya, dan terus mencoba mengambil token.

  • Penyegaran latar belakang — Penyedia token beralih ke maxErrorTokenRefreshDelayMsec milidetik menunggu di antara upaya, dan terus mencoba mengambil token.

  • getToken()Panggilan sesuai permintaan, saat penyegaran latar belakang dinonaktifkan — Penyedia token berhenti mencoba mengambil token dan mengembalikan nilai token sebelumnya, atau nilai nol jika tidak ada token sebelumnya.

Mengambil token setelah aplikasi tidak aktif

Penyegaran latar belakang hanya dilakukan saat aplikasi Anda dianggap aktif untuk jenis aplikasi Anda:

  • iOS — Penyegaran latar belakang dilakukan saat aplikasi berada di latar depan.

  • Android — Penyegaran latar belakang dilakukan saat aplikasi tidak ditutup, baik itu di latar depan atau latar belakang.

Jika aplikasi Anda tetap dalam status apa pun yang tidak mendukung penyegaran latar belakang lebih lama dari tokenRefreshDelaySec detik yang dikonfigurasi, penyedia token akan menjeda penyegaran latar belakang. Misalnya, untuk aplikasi iOS, jika tokenRefreshDelaySec 300 dan aplikasi ditutup atau masuk ke latar belakang selama lebih dari 300 detik, penyedia token berhenti menyegarkan token. Saat aplikasi kembali ke status aktif, penyedia token secara otomatis memulai ulang penyegaran latar belakang.

Saat aplikasi Anda kembali ke status aktif, hubungi onTokenReady() agar Anda dapat diberi tahu saat penyedia token telah mengambil dan menyimpan token baru dalam cache. Jangan hanya menelepongetToken(), karena cache mungkin belum berisi token yang valid saat ini.