BagaimanaAWS WAFMobile SDK bekerja - 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.

BagaimanaAWS WAFMobile SDK bekerja

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. Ketika Anda mengirim permintaan keAWSsumber daya yang Anda lindungiAWS WAF, Anda menyertakan token dalam cookie, untuk memvalidasi permintaan. 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, lihatYangAWS WAFspesifikasi SDK 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 pengaturan default. Penyedia token secara otomatis menyegarkan token di latar belakang dan menyimpannya. Dengan penyegaran latar belakang diaktifkan, saat Anda menelepongetToken(), operasi mengambil token 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 tidak tergantung pada yang lain yang Anda ambil, dan masing-masing memiliki stempel waktu sendiri yang digunakan untuk menghitung kedaluwarsa.

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

    • getToken()— Ketika Anda menelepongetToken()dengan penyegaran latar belakang dinonaktifkan, panggilan secara sinkron mengambil token baru dari layanan token. Ini adalah panggilan yang berpotensi memblokir yang dapat memengaruhi respons aplikasi jika Anda memanggilnya di thread utama.

    • onTokenReady(WAFTokenResultCallback)- Panggilan ini secara asinkron mengambil token baru dan kemudian memanggil callback hasil yang disediakan di thread latar belakang saat token siap.

Bagaimana penyedia token mencoba ulang pengambilan token yang gagal

Penyedia token secara otomatis mencoba ulang pengambilan token saat pengambilan gagal. Percobaan ulang awalnya dilakukan menggunakan backoff eksponensial dengan waktu tunggu coba ulang mulai 100 ms. Untuk informasi tentang percobaan ulang eksponensial, lihatEror pengulangan dan mundur eksponensial diAWS.

Ketika jumlah percobaan ulang mencapai dikonfigurasimaxRetryCount, penyedia token berhenti mencoba atau beralih untuk mencoba setiapmaxErrorTokenRefreshDelayMsecmilidetik, tergantung pada jenis pengambilan token:

  • onTokenReady()- Penyedia token beralih ke menunggumaxErrorTokenRefreshDelayMsecmilidetik antara upaya, dan terus mencoba untuk mengambil token.

  • Penyegaran latar belakang- Penyedia token beralih ke menunggumaxErrorTokenRefreshDelayMsecmilidetik antara upaya, dan terus mencoba untuk mengambil token.

  • Sesuai permintaangetToken()panggilan, saat penyegaran latar belakang dinonaktifkan- Penyedia token berhenti mencoba mengambil token dan mengembalikan nilai token sebelumnya, atau nilai null 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 keadaan apa pun yang tidak mendukung penyegaran latar belakang lebih lama dari yang dikonfigurasitokenRefreshDelaySecdetik, penyedia token menghentikan penyegaran latar belakang. Misalnya, untuk aplikasi iOS, jikatokenRefreshDelaySecadalah 300 dan aplikasi menutup 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, hubungionTokenReady()sehingga Anda dapat diberitahu ketika penyedia token telah mengambil dan cache token baru. Jangan hanya menelepongetToken(), karena cache mungkin belum berisi token yang valid saat ini.