Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Mengelola metode otentikasi di AWS SDKs
Pengguna di kumpulan pengguna Amazon Cognito dapat masuk dengan berbagai opsi masuk awal, atau faktor. Untuk beberapa faktor, pengguna dapat menindaklanjuti dengan otentikasi multi-faktor (MFA). Faktor-faktor pertama ini termasuk nama pengguna dan kata sandi, kata sandi satu kali, kunci sandi, dan otentikasi khusus. Untuk informasi selengkapnya, lihat Alur otentikasi. Jika aplikasi Anda memiliki komponen UI bawaan dan mengimpor modul AWS SDK, Anda harus membangun logika aplikasi untuk autentikasi. Anda harus memilih salah satu dari dua metode utama dan dari metode itu, mekanisme otentikasi yang ingin Anda terapkan.
Anda dapat menerapkan otentikasi berbasis klien di mana aplikasi Anda, atau klien, mendeklarasikan jenis otentikasi di muka. Opsi Anda yang lain adalah autentikasi berbasis pilihan, di mana aplikasi Anda mengumpulkan nama pengguna dan meminta jenis autentikasi yang tersedia untuk pengguna. Anda dapat menerapkan model ini bersama-sama dalam aplikasi yang sama atau membagi antara klien aplikasi, sesuai dengan kebutuhan Anda. Setiap metode memiliki fitur yang unik untuk itu, misalnya otentikasi kustom dalam otentikasi berbasis klien dan tanpa kata sandi berbasis pilihan.
Dalam aplikasi yang dibuat khusus yang melakukan autentikasi dengan implementasi AWS SDK dari API kumpulan pengguna, Anda harus menyusun permintaan API agar selaras dengan konfigurasi kumpulan pengguna, konfigurasi klien aplikasi, dan preferensi sisi klien. InitiateAuth
Sesi yang dimulai dengan AuthFlow
otentikasi berbasis pilihan USER_AUTH
dimulai. Amazon Cognito merespons API Anda dengan tantangan metode otentikasi yang disukai atau daftar pilihan. Sesi yang dimulai dengan AuthFlow
langsung CUSTOM_AUTH
masuk ke otentikasi khusus dengan pemicu Lambda.
Beberapa metode otentikasi ditetapkan ke salah satu dari dua jenis aliran, dan beberapa metode tersedia di keduanya.
Otentikasi berbasis pilihan
Aplikasi Anda dapat meminta metode otentikasi berikut dalam otentikasi berbasis pilihan. Deklarasikan opsi-opsi ini dalam PREFERRED_CHALLENGE
parameter InitiateAuthatau AdminInitiateAuth, atau dalam ChallengeName
parameter atau. RespondToAuthChallengeAdminRespondToAuthChallenge
Untuk meninjau opsi ini dalam konteks API mereka, lihat ChallengeName
di RespondToAuthChallenge.
Masuk berbasis pilihan mengeluarkan tantangan sebagai tanggapan atas permintaan awal Anda. Tantangan ini memverifikasi bahwa opsi yang diminta tersedia, atau menyediakan daftar pilihan yang tersedia. Aplikasi Anda dapat menampilkan pilihan ini kepada pengguna, yang kemudian memasukkan kredensyal untuk metode login pilihan mereka dan melanjutkan dengan otentikasi dalam tanggapan tantangan.
Anda memiliki opsi berbasis pilihan berikut dalam alur otentikasi Anda. Semua permintaan jenis ini mengharuskan aplikasi Anda terlebih dahulu mengumpulkan nama pengguna atau mengambilnya dari cache.
-
Minta opsi
AuthParameters
denganUSERNAME
hanya. Amazon Cognito mengembalikan tantangan.SELECT_CHALLENGE
Dari sana, aplikasi Anda dapat meminta pengguna untuk memilih tantangan dan mengembalikan respons ini ke kumpulan pengguna Anda. -
Minta tantangan pilihan dengan
AuthParameters
ofPREFERRED_CHALLENGE
dan parameter tantangan pilihan Anda, jika ada. Misalnya, jika Anda memintaPREFERRED_CHALLENGE
dariPASSWORD_SRP
, Anda juga harus menyertakanSRP_A
. Jika pengguna, kumpulan pengguna, dan klien aplikasi Anda semuanya dikonfigurasi untuk tantangan yang diinginkan, Amazon Cognito merespons dengan langkah berikutnya dalam tantangan tersebut, misalnyaPASSWORD_VERIFIER
dalamPASSWORD_SRP
alur atau CodeDeliveryDetailsdi aliran dan.EMAIL_OTP
SMS_OTP
Jika tantangan yang disukai tidak tersedia, Amazon Cognito merespons denganSELECT_CHALLENGE
dan daftar tantangan yang tersedia. -
Masuk pengguna terlebih dahulu, lalu minta opsi otentikasi berbasis pilihan mereka. GetUserAuthFactorsPermintaan dengan token akses pengguna yang masuk mengembalikan faktor otentikasi berbasis pilihan yang tersedia dan pengaturan MFA mereka. Dengan opsi ini, pengguna dapat masuk dengan nama pengguna dan kata sandi terlebih dahulu, kemudian mengaktifkan bentuk otentikasi yang berbeda. Anda juga dapat menggunakan operasi ini untuk memeriksa opsi tambahan bagi pengguna yang telah masuk dengan tantangan yang diinginkan.
Untuk mengonfigurasi klien aplikasi Anda untuk autentikasi berbasis pilihan, tambahkan alur autentikasi yang ALLOW_USER_AUTH
diizinkan. Anda juga harus memilih faktor berbasis pilihan yang ingin Anda izinkan dalam konfigurasi kumpulan pengguna Anda. Proses berikut menggambarkan bagaimana memilih faktor otentikasi berbasis pilihan.
Otentikasi berbasis klien
Otentikasi berbasis klien mendukung alur otentikasi berikut. Deklarasikan opsi ini dalam AuthFlow
parameter atau. InitiateAuthAdminInitiateAuth
-
USER_PASSWORD_AUTH
danADMIN_USER_PASSWORD_AUTH
Masuk dengan kata sandi persisten
Alur otentikasi ini setara dengan
PASSWORD
otentikasi berbasis pilihan. -
USER_SRP_AUTH
Masuk dengan kata sandi persisten dan muatan aman
Alur otentikasi ini setara dengan
PASSWORD_SRP
otentikasi berbasis pilihan. -
REFRESH_TOKEN_AUTH
Alur otentikasi ini hanya tersedia dalam otentikasi berbasis klien.
-
CUSTOM_AUTH
Alur otentikasi ini hanya tersedia dalam otentikasi berbasis klien.
Dengan autentikasi berbasis klien, Amazon Cognito mengasumsikan bahwa Anda telah menentukan cara pengguna Anda ingin mengautentikasi sebelum mereka memulai alur otentikasi. Logika penentuan faktor masuk yang ingin diberikan pengguna harus ditentukan dengan pengaturan default atau permintaan khusus, lalu dideklarasikan dalam permintaan pertama ke kumpulan pengguna Anda. InitiateAuth
Permintaan mendeklarasikan login AuthFlow
yang secara langsung sesuai dengan salah satu opsi yang tercantum, misalnya. USER_SRP_AUTH
Dengan deklarasi ini, permintaan juga mencakup parameter untuk memulai otentikasi, misalnyaUSERNAME
,SECRET_HASH
, danSRP_A
. Amazon Cognito mungkin menindaklanjuti permintaan ini dengan tantangan tambahan seperti PASSWORD_VERIFIER
untuk SRP atau SOFTWARE_TOKEN_MFA
untuk masuk kata sandi dengan TOTP MFA.
Untuk mengonfigurasi klien aplikasi Anda untuk autentikasi berbasis klien, tambahkan alur autentikasi apa pun selain alur autentikasi yang ALLOW_USER_AUTH
diizinkan. Contohnya adalahALLOW_USER_PASSWORD_AUTH
,ALLOW_CUSTOM_AUTH
,ALLOW_REFRESH_TOKEN_AUTH
. Untuk mengizinkan alur otentikasi berbasis klien, tidak diperlukan konfigurasi kumpulan pengguna tambahan.