Cara menggunakangetToken - 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 menggunakangetToken

AWS WAFmengharuskan permintaan login Anda untuk menyertakan cookie bernamaaws-waf-tokendengan nilai token Anda saat ini.

YanggetTokenoperasi adalah panggilan SDK asynchronous yang mengambilAWStoken dan menyimpannya dalam cookie pada halaman saat ini dengan namaaws-waf-token, dan nilai yang ditetapkan ke nilai token. Anda dapat menggunakan cookie token ini sesuai kebutuhan di halaman Anda.

Saat Anda menelepongetToken, itu melakukan hal-hal berikut:

  • Jika token yang belum kedaluwarsa sudah tersedia, panggilan akan segera mengembalikannya.

  • Jika tidak, panggilan akan mengambil token baru dariAWSpenyedia token, menunggu hingga 2 detik hingga alur kerja akuisisi token selesai sebelum waktu habis. Jika waktu operasi habis, itu melempar kesalahan, yang kode panggilan Anda harus menangani.

YanggetTokenmemiliki pendampinghasTokenoperasi, yang menunjukkan apakahaws-waf-tokencookie saat ini memegang token yang belum kedaluwarsa.

DasargetTokenpelaksanaan

Contoh berikut daftar menunjukkan kode standar untuk menerapkangetTokenoperasi

const login_response = await AwsWafIntegration.getToken() .catch(e => { // Implement error handling logic for your use case }) // The getToken call returns the token, and doesn't typically require special handling .then(token => { return loginToMyPage() }) async function loginToMyPage() { // Your existing login code }

Kirim formulir hanya setelah token tersedia darigetToken

Daftar berikut menunjukkan cara mendaftarkan pendengar acara untuk mencegat pengiriman formulir sampai token yang valid tersedia untuk digunakan.

<body> <h1>Login</h1> <p></p> <form id="login-form" action="/web/login" method="POST" enctype="application/x-www-form-urlencoded"> <label for="input_username">USERNAME</label> <input type="text" name="input_username" id="input_username"><br> <label for="input_password">PASSWORD</label> <input type="password" name="input_password" id="input_password"><br> <button type="submit">Submit<button> </form> <script> const form = document.querySelector("#login-form"); // Register an event listener to intercept form submissions form.addEventListener("submit", (e) => { // Submit the form only after a token is available if (!AwsWafIntegration.hasToken()) { e.preventDefault(); AwsWafIntegration.getToken().then(() => { e.target.submit(); }, (reason) => { console.log("Error:"+reason) }); } }); </script> </body>