사후 확인 Lambda 트리거 - Amazon Cognito

기계 번역으로 제공되는 번역입니다. 제공된 번역과 원본 영어의 내용이 상충하는 경우에는 영어 버전이 우선합니다.

사후 확인 Lambda 트리거

Amazon Cognito는 가입한 사용자가 사용자 계정을 확인한 후 이 트리거를 호출합니다. 사후 확인 Lambda 함수에서 사용자 지정 메시지를 보내거나 사용자 지정 API 요청을 추가할 수 있습니다. 예를 들어 외부 시스템을 쿼리하고 사용자에게 추가 속성을 채울 수 있습니다. Amazon Cognito는 사용자 풀에 등록한 사용자에 대해서만 이 트리거를 호출하고 관리자 보안 인증 정보로 생성한 사용자 계정에 대해서는 호출하지 않습니다.

요청에는 확인된 사용자의 현재 속성이 포함됩니다.

사후 확인 Lambda 흐름

클라이언트 확인 가입 흐름

클라이언트 확인 가입 흐름

서버 확인 가입 흐름

서버 확인 가입

암호 분실 확인 흐름

암호 분실 확인 흐름

사후 확인 Lambda 트리거 파라미터

Amazon Cognito가 이 Lambda 함수에 전달하는 요청은 아래 파라미터와 Amazon Cognito가 모든 요청에 추가하는 공통 파라미터의 조합입니다.

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

사후 확인 요청 파라미터

userAttributes

사용자 속성을 나타내는 하나 이상의 키-값 페어입니다.

clientMetadata

사후 확인 트리거에 지정하는 Lambda 함수에 사용자 지정 입력으로 제공할 수 있는 하나 이상의 키-값 페어입니다. 다음 API 작업에서 ClientMetadata 파라미터를 사용하여 이 데이터를 Lambda 함수에 전달할 수 있습니다. AdminConfirmSignUp, ConfirmForgotPassword, ConfirmSignUpSignUp.

사후 확인 응답 파라미터

응답에는 추가적인 반환 정보가 없습니다.

사용자 확인 자습서

사후 확인 Lambda 함수는 Amazon Cognito가 새로운 사용자를 확인한 직후에 시작됩니다. JavaScript, Android 및 iOS용 사용자 확인 자습서를 참조하세요.

플랫폼 자습서
JavaScript 자격 증명 SDK JavaScript 사용자 확인
Android 자격 증명 SDK Android 사용자 확인
iOS 자격 증명 SDK iOS 사용자 확인

사후 확인 예제

이 예에서 Lambda 함수는 Amazon SES를 사용하여 사용자에게 확인 이메일 메시지를 전송합니다. 자세한 내용은 Amazon Simple Storage Service 개발자 가이드를 참조하세요.

Node.js
// Import required AWS SDK clients and commands for Node.js. Note that this requires // the `@aws-sdk/client-ses` module to be either bundled with this code or included // as a Lambda layer. import { SES, SendEmailCommand } from "@aws-sdk/client-ses"; const ses = new SES(); const handler = async (event) => { if (event.request.userAttributes.email) { await sendTheEmail( event.request.userAttributes.email, `Congratulations ${event.userName}, you have been confirmed.` ); } return event; }; const sendTheEmail = async (to, body) => { const eParams = { Destination: { ToAddresses: [to], }, Message: { Body: { Text: { Data: body, }, }, Subject: { Data: "Cognito Identity Provider registration completed", }, }, // Replace source_email with your SES validated email address Source: "<source_email>", }; try { await ses.send(new SendEmailCommand(eParams)); } catch (err) { console.log(err); } }; export { handler };

Amazon Cognito는 이벤트 정보를 Lambda 함수에 전달합니다. 그런 다음 함수는 응답이 변경되면 동일한 이벤트 객체를 Amazon Cognito에 반환합니다. Lambda 콘솔에서 해당 Lambda 트리거와 관련 있는 데이터로 테스트 이벤트를 설정할 수 있습니다. 다음은 이 코드 샘플의 테스트 이벤트입니다.

JSON
{ "request": { "userAttributes": { "email": "user@example.com", "email_verified": true } }, "response": {} }