Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Membuat pemicu Lambda tantangan autentikasi
![Pemicu Lambda tantangan](images/lambda-challenges2.png)
- Membuat tantangan autentikasi
-
Amazon Cognito memanggil pemicu ini setelah Menentukan Tantangan Autentikasi jika tantangan kustom telah ditetapkan sebagai bagian dari pemicu Menentukan Tantangan Autentikasi. Ini menciptakan alur autentikasi kustom.
Pemicu Lambda ini dipanggil untuk membuat tantangan untuk disajikan kepada pengguna. Permintaan untuk pemicu Lambda ini mencakup challengeName
dan session
. challengeName
adalah string dan merupakan nama dari tantangan berikutnya untuk pengguna. Nilai dari atribut ini diatur dalam pemicu Lambda Menentukan Tantangan Autentikasi.
Putaran tantangan akan berulang sampai semua tantangan terjawab.
Membuat Parameter pemicu Lambda tantangan autentikasi
Permintaan yang diteruskan Amazon Cognito ke fungsi Lambda ini adalah kombinasi dari parameter di bawah ini dan parameter umum yang ditambahkan Amazon Cognito ke semua permintaan.
Buat parameter permintaan tantangan Auth
- userAttributes
-
Satu atau lebih pasangan nilai-nama yang mewakili atribut pengguna.
- userNotFound
-
Boolean ini diisi ketika
PreventUserExistenceErrors
diatur keENABLED
untuk klien Kolam Pengguna Anda. - challengeName
-
Nama tantangan baru.
- sesi
-
Elemen sesi adalah array elemen
ChallengeResult
, yang masing-masing berisi elemen berikut:- challengeName
-
Tipe tantangan. Salah satu dari:
"CUSTOM_CHALLENGE"
,"PASSWORD_VERIFIER"
,"SMS_MFA"
,"DEVICE_SRP_AUTH"
,"DEVICE_PASSWORD_VERIFIER"
, atau"ADMIN_NO_SRP_AUTH"
. - challengeResult
-
Atur ke
true
jika pengguna berhasil menyelesaikan tantangan, ataufalse
untuk sebaliknya. - challengeMetadata
-
Nama Anda untuk tantangan kustom. Digunakan hanya jika
challengeName
adalah"CUSTOM_CHALLENGE"
.
- clientMetadata
-
Satu atau lebih pasangan nilai-kunci yang dapat Anda berikan sebagai masukan kustom ke fungsi Lambda yang Anda tentukan untuk membuat pemicu tantangan autentikasi. Anda dapat menggunakan ClientMetadata parameter dalam tindakan AdminRespondToAuthChallengedan RespondToAuthChallengeAPI untuk meneruskan data ini ke fungsi Lambda Anda. Permintaan yang memanggil fungsi create auth challenge tidak menyertakan data yang dilewatkan dalam ClientMetadata parameter dalam AdminInitiateAuthdan operasi InitiateAuthAPI.
Buat parameter respons tantangan Auth
- publicChallengeParameters
-
Satu atau lebih pasangan nilai-kunci untuk digunakan oleh aplikasi klien dalam tantangan yang akan disajikan kepada pengguna. Parameter ini harus berisi semua informasi yang diperlukan untuk menyajikan tantangan kepada pengguna secara akurat.
- privateChallengeParameters
-
Parameter ini hanya digunakan oleh pemicu Lambda Memverifikasi Respons Tantangan Autentikasi. Parameter ini harus berisi semua informasi yang diperlukan untuk memvalidasi respons pengguna terhadap tantangan. Dengan kata lain, parameter
publicChallengeParameters
berisi pertanyaan yang disajikan kepada pengguna danprivateChallengeParameters
berisi jawaban yang valid untuk pertanyaan tersebut. - challengeMetadata
-
Nama Anda untuk tantangan kustom, jika ini adalah tantangan kustom.
Membuat Contoh Tantangan Autkasi
Sebuah CAPTCHA dibuat sebagai tantangan bagi pengguna. URL untuk gambar CAPTCHA ditambahkan ke parameter tantangan publik sebagai “captchaUrl
”, dan jawaban yang diharapkan ditambahkan ke parameter tantangan privat.