Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Tentukan tantangan Auth pemicu Lambda
Pemicu tantangan autentikasi definisi adalah fungsi Lambda yang mempertahankan urutan tantangan dalam alur otentikasi khusus. Ini menyatakan keberhasilan atau kegagalan urutan tantangan, dan menetapkan tantangan berikutnya jika urutannya belum selesai.
- Menentukan tantangan autentikasi
-
Amazon Cognito memanggil pemicu ini untuk memulai alur autentikasi kustom.
Permintaan untuk pemicu Lambda ini berisi. session sessionParameter adalah array yang berisi semua tantangan yang disajikan kepada pengguna dalam proses otentikasi saat ini. Permintaan juga mencakup hasil yang sesuai. sessionArray menyimpan detail tantangan (ChallengeResult) dalam urutan kronologis. Tantangan tersebut session[0] merupakan tantangan pertama yang diterima pengguna.
Tentukan parameter pemicu Lambda tantangan Auth
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.
Tentukan parameter permintaan tantangan Auth
Saat Amazon Cognito memanggil fungsi Lambda Anda, Amazon Cognito menyediakan parameter berikut:
- userAttributes
-
Satu atau lebih pasangan nama-nilai yang mewakili atribut pengguna.
- userNotFound
-
Boolean yang diisi Amazon Cognito
PreventUserExistenceErrorssaat disetelENABLEDuntuk klien kumpulan pengguna Anda. Nilaitrueberarti bahwa id pengguna (nama pengguna, alamat email, dan detail lainnya) tidak cocok dengan pengguna yang ada. BilaPreventUserExistenceErrorsdisetel keENABLED, layanan tidak menginformasikan aplikasi pengguna yang tidak ada. Kami menyarankan agar fungsi Lambda Anda mempertahankan pengalaman pengguna yang sama dan memperhitungkan latensi. Dengan cara ini, pemanggil tidak dapat mendeteksi perilaku yang berbeda ketika pengguna ada atau tidak ada. - sesi
-
Array
ChallengeResultelemen. Masing-masing berisi elemen-elemen berikut:- challengeName
-
Salah satu jenis tantangan berikut:
CUSTOM_CHALLENGE,SRP_A,PASSWORD_VERIFIER,SMS_MFA,EMAIL_OTPSOFTWARE_TOKEN_MFA,DEVICE_SRP_AUTH,DEVICE_PASSWORD_VERIFIER, atauADMIN_NO_SRP_AUTH.Saat fungsi define auth challenge Anda mengeluarkan
PASSWORD_VERIFIERtantangan bagi pengguna yang telah menyiapkan otentikasi multifaktor, Amazon Cognito mengikutinya dengan,, atauSMS_MFAtantangan.EMAIL_OTPSOFTWARE_TOKEN_MFAIni adalah petunjuk untuk kode otentikasi multi-faktor. Dalam fungsi Anda, sertakan penanganan untuk acara masukan dariSMS_MFAEMAIL_OTP,, danSOFTWARE_TOKEN_MFAtantangan. Anda tidak perlu memanggil tantangan MFA apa pun dalam fungsi tantangan autentikasi definisi Anda.penting
Saat fungsi Anda menentukan apakah pengguna telah berhasil diautentikasi dan Anda harus mengeluarkannya token, selalu periksa
challengeNamefungsi define auth challenge Anda dan verifikasi apakah itu cocok dengan nilai yang diharapkan. - challengeResult
-
Atur ke
truejika pengguna berhasil menyelesaikan tantangan, ataufalseuntuk sebaliknya. - challengeMetadata
-
Nama Anda untuk tantangan kustom. Digunakan hanya jika
challengeNameadalahCUSTOM_CHALLENGE.
- clientMetadata
-
Satu atau lebih pasangan nilai-kunci yang dapat Anda berikan sebagai masukan kustom ke fungsi Lambda yang Anda tentukan untuk pemicu menentukan tantangan autentikasi. Untuk meneruskan data ini ke fungsi Lambda Anda, Anda dapat menggunakan
ClientMetadataparameter dalam operasi AdminRespondToAuthChallengedan RespondToAuthChallengeAPI. Permintaan yang memanggil fungsi define auth challenge tidak menyertakan data yang diteruskan dalam ClientMetadata parameter AdminInitiateAuthdan operasi InitiateAuthAPI.
Tentukan parameter respons tantangan Auth
Dalam respons, Anda dapat mengembalikan tahap berikutnya dari proses autentikasi.
- challengeName
-
String yang berisi nama tantangan berikutnya. Jika Anda ingin menyajikan tantangan baru bagi pengguna Anda, tentukan nama tantangan di sini.
- issueTokens
-
Jika Anda menentukan bahwa pengguna telah menyelesaikan tantangan otentikasi dengan cukup, atur ke
true. Jika pengguna belum cukup memenuhi tantangan, atur kefalse. - failAuthentication
-
Jika Anda ingin mengakhiri proses otentikasi saat ini, atur ke
true. Untuk melanjutkan proses otentikasi saat ini, atur kefalse.
Tentukan contoh tantangan Auth
Contoh ini mendefinisikan serangkaian tantangan untuk otentikasi dan mengeluarkan token hanya jika pengguna telah menyelesaikan semua tantangan dengan sukses. Saat pengguna menyelesaikan otentikasi SRP dengan SRP_A dan PASSWORD_VERIFIER tantangan, fungsi ini memberi mereka a CUSTOM_CHALLENGE yang memanggil pemicu tantangan create auth. Dalam kombinasi dengan contoh tantangan create auth kami, urutan ini memberikan tantangan CAPTCHA untuk tantangan tiga dan pertanyaan keamanan untuk tantangan empat.
Setelah pengguna memecahkan CAPTCHA dan menjawab pertanyaan keamanan, fungsi ini mengonfirmasi bahwa kumpulan pengguna Anda dapat mengeluarkan token. Otentikasi SRP tidak diperlukan; Anda juga dapat mengatur CAPTCHA dan pertanyaan keamanan sebagai tantangan satu & dua. Dalam kasus di mana fungsi tantangan autentikasi definisi Anda tidak menyatakan tantangan SRP, keberhasilan pengguna Anda ditentukan sepenuhnya oleh tanggapan mereka terhadap permintaan khusus Anda.