Terjemahan disediakan oleh mesin penerjemah. Jika konten terjemahan yang diberikan bertentangan dengan versi bahasa Inggris aslinya, utamakan versi bahasa Inggris.
Pemicu Lambda federasi masuk
Pemicu federasi masuk mengubah atribut pengguna federasi selama proses otentikasi dengan penyedia identitas eksternal. Saat pengguna mengautentikasi melalui penyedia identitas yang dikonfigurasi, pemicu ini memungkinkan Anda untuk memodifikasi respons dari penyedia SAMP dan OIDC eksternal dengan mencegat dan mengubah data dalam proses otentikasi, memberikan kontrol terprogram atas cara kumpulan pengguna Amazon Cognito menangani pengguna gabungan dan atributnya.
Gunakan pemicu ini untuk menambah, mengganti, atau menekan atribut sebelum membuat pengguna baru atau memperbarui profil pengguna federasi yang ada. Pemicu ini menerima atribut penyedia identitas mentah sebagai input dan mengembalikan atribut yang dimodifikasi yang diterapkan Amazon Cognito ke profil pengguna.
Topik
Ikhtisar aliran
Saat pengguna mengautentikasi dengan penyedia identitas eksternal, Amazon Cognito memanggil pemicu federasi masuk sebelum membuat atau memperbarui profil pengguna. Pemicu menerima atribut mentah dari penyedia identitas dan dapat mengubahnya sebelum Amazon Cognito menyimpannya. Alur ini terjadi untuk pengguna federasi baru dan pengguna yang sudah ada yang masuk lagi melalui federasi.
Parameter pemicu Lambda federasi masuk
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.
Parameter permintaan federasi masuk
- ProviderName
-
Nama penyedia identitas eksternal.
- ProviderType
-
Jenis penyedia identitas eksternal. Nilai yang valid:
OIDC,SAML,Facebook,Google,SignInWithApple,LoginWithAmazon. - atribut
-
Atribut mentah yang diterima dari penyedia identitas sebelum diproses. Strukturnya bervariasi berdasarkan jenis penyedia.
- Attributes.TokenResponse
-
OAuth data respons token dari
/tokentitik akhir. Hanya tersedia untuk OIDC dan penyedia sosial. Berisiaccess_tokenid_token,refresh_token,,token_type,expires_in, danscope. - Attributes.idToken
-
Klaim JWT token ID yang diterjemahkan dan divalidasi. Hanya tersedia untuk OIDC dan penyedia sosial. Berisi informasi identitas pengguna yang diverifikasi termasuk
sub(pengenal pengguna unik),,emailname,iss(penerbit),aud(audiens),exp(kedaluwarsa), daniat(waktu yang dikeluarkan). - Attributes.userInfo
-
Informasi profil pengguna yang diperluas dari UserInfo titik akhir. Hanya tersedia untuk OIDC dan penyedia sosial. Berisi atribut profil terperinci seperti
given_name,,family_name,pictureaddress, dan bidang khusus penyedia lainnya. Mungkin kosong jika idP tidak mendukung titik akhir atau jika UserInfo panggilan titik akhir gagal. - Attributes.samlResponse
-
Atribut pernyataan SAMP. Hanya tersedia untuk penyedia SAMP. Berisi atribut dari respon SAMP.
Parameter respons federasi masuk
- userAttributesToPeta
-
Atribut pengguna untuk diterapkan ke profil pengguna.
penting
Anda harus menyertakan SEMUA atribut pengguna yang ingin Anda pertahankan dalam respons, termasuk atribut yang tidak Anda modifikasi. Atribut apa pun yang tidak termasuk dalam userAttributesToMap respons akan dihapus dan tidak disimpan di profil pengguna. Ini berlaku untuk atribut yang dimodifikasi dan tidak dimodifikasi.
Perilaku respons kosong
Jika Anda mengembalikan objek kosong {} untukuserAttributesToMap, semua atribut asli dari penyedia identitas dipertahankan tidak berubah. Ini bertindak sebagai no-op, seolah-olah fungsi Lambda tidak pernah dieksekusi. Ini berbeda dengan menghilangkan atribut, yang menjatuhkannya.
Atribut khusus penyedia
Struktur request.attributes bervariasi berdasarkanproviderType. OIDC dan penyedia sosial termasuktokenResponse,idToken, dan userInfo objek. Penyedia SALL hanya menyertakan samlResponse objek.
Contoh federasi masuk: Manajemen keanggotaan grup
Contoh ini menunjukkan cara memetakan grup penyedia identitas federasi ke grup kumpulan pengguna Amazon Cognito. Fungsi ini mengekstrak keanggotaan grup dari respons federasi dan secara otomatis menambahkan pengguna ke grup Amazon Cognito yang sesuai, menghilangkan kebutuhan akan pemicu pasca-otentikasi.
Amazon Cognito meneruskan informasi peristiwa ke fungsi Lambda Anda. Fungsi kemudian mengembalikan objek acara yang sama ke Amazon Cognito, dengan perubahan apa pun dalam respons. Di konsol Lambda, Anda dapat mengatur peristiwa pengujian dengan data yang relevan dengan pemicu Lambda Anda. Berikut ini adalah peristiwa pengujian untuk sampel kode ini:
Contoh federasi masuk: Memotong atribut besar
Contoh ini menunjukkan cara memotong nilai atribut yang melebihi batas penyimpanan Amazon Cognito. Fungsi ini memeriksa setiap atribut dari penyedia identitas. Jika nilai atribut melebihi 2048 karakter, itu memotong nilai dan menambahkan elipsis untuk menunjukkan pemotongan. Semua atribut lainnya melewati tidak berubah.
Amazon Cognito meneruskan informasi peristiwa ke fungsi Lambda Anda. Fungsi kemudian mengembalikan objek acara yang sama ke Amazon Cognito, dengan perubahan apa pun dalam respons. Di konsol Lambda, Anda dapat mengatur peristiwa pengujian dengan data yang relevan dengan pemicu Lambda Anda. Berikut ini adalah peristiwa pengujian untuk sampel kode ini:
Contoh federasi masuk: Acara federasi logging
Contoh ini menunjukkan cara mencatat peristiwa otentikasi federasi untuk pemantauan dan debugging. Fungsi contoh ini menangkap informasi rinci tentang pengguna federasi dan atributnya, memberikan visibilitas ke dalam proses otentikasi.
Amazon Cognito meneruskan informasi peristiwa ke fungsi Lambda Anda. Fungsi kemudian mengembalikan objek acara yang sama ke Amazon Cognito, dengan perubahan apa pun dalam respons. Di konsol Lambda, Anda dapat mengatur peristiwa pengujian dengan data yang relevan dengan pemicu Lambda Anda. Berikut ini adalah peristiwa pengujian untuk sampel kode ini:
Keluaran CloudWatch Log yang Diharapkan: