인증 챌린지 확인 응답 Lambda 트리거 - Amazon Cognito

인증 챌린지 확인 응답 Lambda 트리거


            문제 Lambda 트리거
인증 문제 응답 확인

Amazon Cognito는 이 트리거를 호출하여 사용자 지정 인증 문제에 대한 사용자의 응답이 유효한지 여부를 확인합니다. 이것은 사용자 풀 사용자 지정 인증 흐름에 속합니다.

이 트리거에 대한 요청에는 privateChallengeParameterschallengeAnswer 파라미터가 포함됩니다. 인증 문제 생성 Lambda 트리거는 privateChallengeParameters 값을 반환하고 사용자의 예상 응답을 포함합니다. challengeAnswer 파라미터에는 챌린지에 대한 사용자의 응답이 포함됩니다.

응답에는 answerCorrect 속성이 포함됩니다. 사용자가 문제를 성공적으로 완료한 경우 Amazon Cognito는 속성 값을 true로 설정합니다. 사용자가 문제를 성공적으로 완료하지 못한 경우 Amazon Cognito는 속성 값을 false로 설정합니다.

사용자가 모든 문제에 응답할 때까지 문제 루프가 반복됩니다.

인증 챌린지 확인 Lambda 트리거 파라미터

이러한 파라미터는 Amazon Cognito가 공통 파라미터의 이벤트 정보와 함께 이 Lambda 함수에 전달하는 파라미터입니다.

JSON
{ "request": { "userAttributes": { "string": "string", . . . }, "privateChallengeParameters": { "string": "string", . . . }, "challengeAnswer": "string", "clientMetadata": { "string": "string", . . . }, "userNotFound": boolean }, "response": { "answerCorrect": boolean } }

인증 챌린지 확인 요청 파라미터

userAttributes

이 파라미터에는 사용자 속성을 나타내는 하나 이상의 이름-값 페어가 포함됩니다.

userNotFound

Amazon Cognito에서 사용자 풀 클라이언트에 대해 PreventUserExistenceErrorsENABLED로 설정한 경우 Amazon Cognito는 이 부울을 채웁니다.

privateChallengeParameters

이 파라미터는 인증 문제 생성 트리거에서 가져옵니다. 사용자가 문제를 통과했는지 여부를 확인하려면 Amazon Cognito에서 이 파라미터를 사용자의 challengeAnswer과 비교합니다.

이 파라미터는 사용자의 문제에 대한 응답을 검증하는 데 필요한 모든 정보를 포함합니다. 이 정보에는 Amazon Cognito가 사용자에게 제시하는 질문(publicChallengeParameters) 및 질문에 대한 유효한 대답(privateChallengeParameters)이 포함됩니다. 인증 문제 응답 확인 Lambda 트리거만 이 파라미터를 사용합니다.

challengeAnswer

이 파라미터 값은 사용자의 문제에 대한 응답에 있는 대답입니다.

clientMetadata

이 파라미터는 인증 문제 확인 트리거에 대한 Lambda 함수에 사용자 지정 입력으로 제공될 수 있는 하나 이상의 키-값 페어를 포함합니다. 이 데이터를 Lambda 함수에 전달하려면 AdminRespondToAuthChallengeRespondToAuthChallenge API 작업에서 ClientMetadata 파라미터를 사용합니다. Amazon Cognito는 승인 문제 확인 함수에 전달하는 요청에 있는 AdminInitiateAuthInitiateAuth API 작업의 ClientMetadata 파라미터에서 전달된 데이터는 포함하지 않습니다.

인증 챌린지 확인 응답 파라미터

answerCorrect

사용자가 문제를 성공적으로 완료한 경우 Amazon Cognito는 이 파라미터를 true로 설정합니다. 사용자가 문제를 성공적으로 완료하지 못한 경우 Amazon Cognito는 이 파라미터를 false로 설정합니다.

인증 챌린지 확인 응답 예제

이 예제에서 Lambda 함수가 문제에 대한 사용자의 응답이 예상 응답과 일치하는지 확인합니다. 사용자의 응답과 예상 응답이 일치하는 경우 Amazon Cognito는 answerCorrect 파라미터를 true로 설정합니다.

Node.js
exports.handler = (event, context, callback) => { if (event.request.privateChallengeParameters.answer == event.request.challengeAnswer) { event.response.answerCorrect = true; } else { event.response.answerCorrect = false; } // Return to Amazon Cognito callback(null, event); }