사용자 정의 인증 챌린지 Lambda 트리거 - Amazon Cognito

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

사용자 정의 인증 챌린지 Lambda 트리거

Amazon Cognito 사용자 풀에 대한 인증 흐름을 구축하면 기본 제공 흐름 이상으로 인증 모델을 확장하려는 경우가 있습니다. 사용자 지정 챌린지 트리거의 일반적인 사용 사례 중 하나는 사용자 이름, 암호 및 다단계 인증() 이외의 추가 보안 검사를 구현하는 것입니다MFA. 사용자 지정 챌린지는 Lambda 지원 프로그래밍 언어로 생성할 수 있는 모든 질문과 응답입니다. 예를 들어 인증이 허용되기 전에 사용자에게 를 해결CAPTCHA하거나 보안 질문에 대한 답변을 요구해야 할 수 있습니다. 또 다른 잠재적 요구 사항은 특수 인증 요소 또는 디바이스와 통합하는 것입니다. 또는 하드웨어 보안 키 또는 생체 인식 디바이스로 사용자를 인증하는 소프트웨어를 이미 개발했을 수도 있습니다. 사용자 지정 챌린지에 대한 인증 성공의 정의는 Lambda 함수가 정답으로 수락하는 모든 답변입니다. 예를 들어 고정 문자열 또는 외부 의 만족스러운 응답입니다API.

사용자 지정 챌린지로 인증을 시작하고 인증 프로세스를 완전히 제어하거나 애플리케이션이 사용자 지정 챌린지를 수신하기 전에 사용자 이름 암호 인증을 수행할 수 있습니다.

사용자 지정 인증 챌린지 Lambda 트리거:

정의

챌린지 시퀀스를 시작합니다. 새 챌린지를 시작할지, 인증을 완료로 표시할지 또는 인증 시도를 중단할지 결정합니다.

생성

사용자가 답변해야 하는 질문을 애플리케이션에 발급합니다. 이 함수는 애플리케이션이 사용자에게 표시해야 CAPTCHA 하는 보안 질문 또는 에 대한 링크를 제공할 수 있습니다.

확인

예상 답변을 알고 애플리케이션이 챌린지 응답에서 제공하는 답변과 비교합니다. 함수는 CAPTCHA 서비스의 API 를 호출하여 사용자가 시도한 솔루션의 예상 결과를 검색할 수 있습니다.

이 세 Lambda 함수는 서로 연결되어 사용자의 제어 범위와 자체 설계 내에 있는 인증 메커니즘을 제공합니다. 사용자 지정 인증에는 클라이언트와 Lambda 함수에 애플리케이션 로직이 필요하므로 호스팅 UI 내에서 사용자 지정 인증을 처리할 수 없습니다. 이 인증 시스템에는 추가 개발자 노력이 필요합니다. 애플리케이션은 사용자 풀을 사용하여 인증 흐름을 수행하고 사용자 지정 인증 챌린지의 중앙에서 질문을 렌더링하는 사용자 지정 UI를 사용하여 결과 챌린지를 API 처리해야 합니다.

문제 Lambda 트리거

사용자 지정 인증 구현에 대한 자세한 내용은 섹션을 참조하세요. 사용자 지정 인증 흐름 및 챌린지

API 작업 InitiateAuth 또는 및 AdminInitiateAuth RespondToAuthChallenge 또는 간의 인증AdminRespondToAuthChallenge. 이 흐름에서 인증이 실패하거나 사용자에게 토큰이 발행될 때까지 사용자는 연속 문제에 응답하여 인증합니다. 챌린지 응답은 새로운 챌린지일 수 있습니다. 이 경우 애플리케이션은 새로운 문제에 필요한 만큼 응답합니다. 인증 챌린지 정의 함수가 지금까지의 결과를 분석하고 모든 챌린지에 대한 응답이 완료되었는지 확인한 다음 를 반환하면 인증이 성공합니다IssueTokens.