Mengimpor pengguna ke kumpulan pengguna dengan pemicu Lambda migrasi pengguna - Amazon Cognito

Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.

Mengimpor pengguna ke kumpulan pengguna dengan pemicu Lambda migrasi pengguna

Dengan pendekatan ini, Anda dapat dengan lancar memigrasikan pengguna dari direktori pengguna yang ada ke kumpulan pengguna saat pengguna masuk untuk pertama kalinya dengan aplikasi Anda atau meminta pengaturan ulang kata sandi. Tambahkan Memigrasi pengguna pemicu Lambda fungsi ke kumpulan pengguna Anda dan menerima metadata tentang pengguna yang mencoba masuk, dan mengembalikan informasi profil pengguna dari sumber identitas eksternal. Untuk detail dan kode contoh untuk pemicu Lambda ini, termasuk parameter permintaan dan respons, lihat. Memigrasi parameter pemicu Lambda

Sebelum Anda mulai memigrasikan pengguna, buat fungsi Lambda migrasi pengguna di Akun AWS Anda, dan setel fungsi Lambda sebagai pemicu migrasi pengguna di kumpulan pengguna Anda. Tambahkan kebijakan otorisasi ke fungsi Lambda Anda yang hanya mengizinkan prinsipal akun layanan Amazon Cognito, cognito-idp.amazonaws.com untuk menjalankan fungsi Lambda, dan hanya dalam konteks kumpulan pengguna Anda sendiri. Untuk informasi selengkapnya, lihat Menggunakan kebijakan berbasis sumber daya untuk (kebijakan fungsi AWS Lambda Lambda).

Proses masuk

  1. Pengguna membuka aplikasi Anda dan masuk dengan kumpulan pengguna Amazon Cognito API atau melalui UI yang dihosting Amazon Cognito. Untuk informasi selengkapnya tentang cara memfasilitasi masuk dengan Amazon APIs Cognito, lihat. Mengintegrasikan otentikasi dan otorisasi Amazon Cognito dengan aplikasi web dan seluler

  2. Aplikasi Anda mengirimkan nama pengguna dan kata sandi ke Amazon Cognito. Jika aplikasi Anda memiliki UI login khusus yang dibuat dengan aplikasi AWS SDK, aplikasi Anda harus menggunakan InitiateAuthatau AdminInitiateAuthdengan ADMIN_USER_PASSWORD_AUTH alur USER_PASSWORD_AUTH atau. Saat aplikasi Anda menggunakan salah satu alur ini, aplikasi akan SDK mengirimkan kata sandi ke server.

    catatan

    Sebelum menambahkan pemicu migrasi pengguna, aktifkan USER_PASSWORD_AUTH atau ADMIN_USER_PASSWORD_AUTH alur di setelan klien aplikasi Anda. Anda harus menggunakan aliran ini alih-alih USER_SRP_AUTH aliran default. Amazon Cognito harus mengirim kata sandi ke fungsi Lambda Anda sehingga dapat memverifikasi otentikasi pengguna Anda di direktori lain. Sebuah SRP mengaburkan kata sandi pengguna Anda dari fungsi Lambda Anda.

  3. Amazon Cognito memeriksa apakah nama pengguna yang dikirimkan cocok dengan nama pengguna atau alias di kumpulan pengguna. Anda dapat mengatur alamat email, nomor telepon, atau nama pengguna pilihan pengguna sebagai alias di kumpulan pengguna Anda. Jika pengguna tidak ada, Amazon Cognito mengirimkan parameter, termasuk nama pengguna dan kata sandi, ke fungsi AndaMemigrasi pengguna pemicu Lambda.

  4. Memigrasi pengguna pemicu LambdaFungsi Anda memeriksa atau mengautentikasi pengguna dengan direktori pengguna atau basis data pengguna yang ada. Fungsi mengembalikan atribut pengguna yang disimpan Amazon Cognito di profil pengguna di kumpulan pengguna. Anda dapat mengembalikan username parameter hanya jika nama pengguna yang dikirimkan cocok dengan atribut alias. Jika Anda ingin pengguna terus menggunakan kata sandi yang ada, fungsi Anda akan menyetel atribut finalUserStatus CONFIRMED dalam respons Lambda. Aplikasi Anda harus mengembalikan semua "response" parameter yang ditampilkan diMemigrasi parameter pemicu Lambda.

    penting

    Jangan mencatat seluruh objek peristiwa permintaan dalam kode Lambda migrasi pengguna Anda. Objek acara permintaan ini menyertakan kata sandi pengguna. Jika Anda tidak membersihkan log, kata sandi akan muncul di CloudWatch Log.

  5. Amazon Cognito membuat profil pengguna di kolam pengguna Anda, dan mengembalikan token ke klien aplikasi Anda.

  6. Aplikasi Anda melakukan pengambilan token, menerima autentikasi pengguna, dan melanjutkan ke konten yang diminta.

Setelah memigrasikan pengguna, gunakan USER_SRP_AUTH untuk login. Protokol Secure Remote Password (SRP) tidak mengirim kata sandi ke seluruh jaringan, dan memberikan manfaat keamanan atas USER_PASSWORD_AUTH alur yang Anda gunakan selama migrasi.

Jika terjadi kesalahan selama migrasi, termasuk masalah perangkat klien atau jaringan, aplikasi Anda menerima respons kesalahan dari kumpulan pengguna Amazon Cognito. API Jika ini terjadi, Amazon Cognito mungkin atau mungkin tidak membuat akun pengguna di kumpulan pengguna Anda. Pengguna kemudian harus mencoba masuk lagi. Jika login gagal berulang kali, coba setel ulang kata sandi pengguna dengan alur lupa kata sandi di aplikasi Anda.

Alur forgot-password juga memanggil Memigrasi pengguna pemicu Lambda fungsi Anda dengan sumber peristiwa. UserMigration_ForgotPassword Karena pengguna tidak mengirimkan kata sandi saat meminta pengaturan ulang kata sandi, Amazon Cognito tidak menyertakan kata sandi jika dikirimkan ke fungsi Lambda Anda. Fungsi Anda hanya dapat mencari pengguna di direktori pengguna yang ada dan mengembalikan atribut untuk ditambahkan ke profil pengguna di kumpulan pengguna Anda. Setelah fungsi Anda menyelesaikan pemanggilannya dan mengembalikan responsnya ke Amazon Cognito, kumpulan pengguna Anda mengirimkan kode reset kata sandi melalui email atau. SMS Di aplikasi Anda, minta pengguna Anda untuk kode konfirmasi dan kata sandi baru mereka, lalu kirim informasi tersebut ke Amazon Cognito dalam permintaan. ConfirmForgotPasswordAPI Anda juga dapat menggunakan halaman bawaan untuk alur lupa kata sandi di UI yang dihosting Amazon Cognito.