Posting otentikasi pemicu Lambda - Amazon Cognito

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

Posting otentikasi pemicu Lambda

Pemicu otentikasi pos tidak mengubah alur otentikasi untuk pengguna. Amazon Cognito memanggil Lambda ini setelah otentikasi selesai dan pengguna telah menerima token. Tambahkan pemicu otentikasi pos saat Anda ingin menambahkan peristiwa otentikasi pasca-pemrosesan khusus, misalnya pencatatan atau penyesuaian profil pengguna yang akan tercermin pada proses masuk berikutnya.

Ikhtisar aliran otentikasi

Pemicu Lambda pasca autentikasi - alur klien

Untuk informasi selengkapnya, lihat Alur otentikasi kumpulan pengguna.

Posting otentikasi parameter pemicu Lambda

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.

JSON
{ "request": { "userAttributes": { "string": "string", . . . }, "newDeviceUsed": boolean, "clientMetadata": { "string": "string", . . . } }, "response": {} }

Parameter permintaan otentikasi posting

newDeviceUsed

Bendera ini menunjukkan jika pengguna telah masuk pada perangkat baru. Amazon Cognito hanya menetapkan tanda ini jika nilai perangkat yang diingat dari kumpulan pengguna adalah Always atau. User Opt-In

userAttributes

Satu atau lebih pasangan nilai-nama yang mewakili atribut pengguna.

clientMetadata

Satu atau lebih pasangan nilai-kunci yang dapat Anda berikan sebagai masukan kustom ke fungsi Lambda yang Anda tentukan untuk pemicu pasca autentikasi. Untuk meneruskan data ini ke fungsi Lambda Anda, Anda dapat menggunakan ClientMetadata parameter dalam AdminRespondToAuthChallengedan RespondToAuthChallengeAPItindakan. Amazon Cognito tidak menyertakan data dari ClientMetadata parameter AdminInitiateAuthdan InitiateAuthAPIoperasi dalam permintaan yang diteruskan ke fungsi otentikasi pos.

Parameter respons otentikasi posting

Amazon Cognito tidak mengharapkan informasi pengembalian tambahan dalam tanggapan. Fungsi Anda dapat menggunakan API operasi untuk menanyakan dan memodifikasi sumber daya Anda, atau merekam metadata peristiwa ke sistem eksternal.

Tutorial otentikasi

Segera setelah Amazon Cognito masuk ke pengguna, itu mengaktifkan fungsi Lambda otentikasi posting. Lihat tutorial masuk ini untuk JavaScript, Android, dan iOS.

Platform Tutorial
JavaScript Identitas SDK Masuk pengguna dengan JavaScript
Identitas Android SDK Masuk pengguna dengan Android
Identitas iOS SDK Masuk pengguna dengan iOS

Contoh otentikasi posting

Contoh otentikasi posting ini fungsi Lambda mengirimkan data dari login CloudWatch yang berhasil ke Log.

Node.js
const handler = async (event) => { // Send post authentication data to Amazon CloudWatch logs console.log("Authentication successful"); console.log("Trigger function =", event.triggerSource); console.log("User pool = ", event.userPoolId); console.log("App client ID = ", event.callerContext.clientId); console.log("User ID = ", event.userName); return event; }; export { handler };
Python
import os def lambda_handler(event, context): # Send post authentication data to Cloudwatch logs print ("Authentication successful") print ("Trigger function =", event['triggerSource']) print ("User pool = ", event['userPoolId']) print ("App client ID = ", event['callerContext']['clientId']) print ("User ID = ", event['userName']) # Return to Amazon Cognito return event

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:

JSON
{ "triggerSource": "testTrigger", "userPoolId": "testPool", "userName": "testName", "callerContext": { "clientId": "12345" }, "response": {} }