Amazon Cognito에서 사용자 마이그레이션 AWS Lambda 트리거를 사용할 때 발생하는 오류를 해결하고 싶습니다.
해결 방법
다음은 사용자 마이그레이션 Lambda 트리거를 사용할 때 발생할 수 있는 일반적인 오류입니다.
“initiateAuth 작업을 호출할 때 오류가 발생했습니다(잘못된 매개 변수 예외). 사용자\ _암호\ _AUTH 흐름이 이 클라이언트에 대해 활성화되지 않았습니다.”
이 오류는 Amazon Cognito 사용자 풀의 앱 클라이언트가 USER_PASSWORD_AUTH or ADMIN_USER_PASSWORD_AUTH 플로우를 사용하도록 구성되지 않은 경우 발생합니다. 이 오류를 해결하려면 사용자 마이그레이션 Lambda 트리거를 추가하기 전에 앱 클라이언트에서 USER\ _PASSWORD\ _AUTH 또는ADMIN\ _USER\ _PASSWORD\ _AUTH 플로우를 활성화하십시오.
USER_PASSWORD_AUTH 또는 ADMIN_USER_PASSWORD_AUTH 플로우를 켜려면 앱 클라이언트에서 해당 인증 흐름을 선택합니다.기본 USER\ _SRP\ _AUTH 플로우 대신 이러한 플로우를 사용하십시오. Amazon Cognito는 Lambda 함수에 암호를 전송하여 다른 디렉터리의 사용자 인증을 확인합니다.
“InitiateAuth 작업을 호출할 때 오류가 발생했습니다(UserNotFoundException). 앱 클라이언트에서 사용자를 마이그레이션하는 중 예외가 발생했습니다 <example_client_id>"
이 오류는 사용자 마이그레이션 Lambda 트리거로 설정된 Lambda 함수에 올바르게 구성된 권한 부여 정책이 없을 때 발생합니다. 이 경우 정책에서는 아마존 코그니토 서비스 계정 주체 cognito-idp.amazonaws.com이 Lambda 함수를 호출하는 것을 허용하지 않습니다. 자세한 내용은 Lambda용 리소스 기반 정책 사용을 참조하십시오.
이 오류는 Lambda 함수를 Amazon Cognito 사용자 풀의 사용자 마이그레이션 Lambda 트리거로 설정하지 않은 경우에도 발생합니다. 이 오류를 해결하려면 Lambda 함수를 사용자 풀의 사용자 마이그레이션 Lambda 트리거로 구성해야 합니다.
“InitiateAuth 작업을 호출할 때 오류가 발생했습니다(UserNotFoundException). 마이그레이션 중 오류 발생: 잘못된 최종 사용자 상태”
이 오류는 finalUserStatus를 CONFIRMEND 이외의 값으로 설정하면 발생합니다. 이 오류를 해결하려면 finalUserStatus를 CONFIRMEND로 변경하여 사용자가 로그인하기 전에 추가 작업을 수행할 필요가 없도록 하십시오.
잘못된 MessageAction 또는** 잘못된 DesiredDelivery Medium** 오류는 Lambda 함수가 Amazon Cognito에 반환하는 파라미터 값이 예상 값이 아닐 때 발생합니다. 이러한 오류를 해결하려면 파라미터를 예상값으로 변경하십시오. 요청 및 응답 파라미터에 대한 자세한 내용은 사용자 Lambda 트리거 파라미터 마이그레이션을 참조하십시오.
“InitiateAuth 작업을 호출할 때 오류가 발생했습니다(UserNotFoundException). 속성이 스키마를 준수하지 않음: <example_attribute>: 스키마에 속성이 없습니다”
이 오류는 Lambda 함수 응답에 포함된 속성이 Amazon Cognito 사용자 풀의 속성이 아닐 때 발생합니다. 이 오류를 해결하려면 사용자 풀의 스키마에 있는 특성을 반환해야 합니다.
“사용자 마이그레이션 중 예외”- 또는 “오류가 발생하여 UserMigration이 실패했습니다. <example error message>“
이러한 오류는 Hosted UI 페이지에 나타나며 앞서 언급한 이유 중 하나로 인해 발생할 수 있습니다.
이러한 오류 메시지는 일반적이므로 오류의 특정 원인을 식별하기 어려울 수 있습니다. 호스팅된 UI를 사용하여 사용자를 마이그레이션할 때 발생하는 오류에 대한 자세한 내용을 보려면 다음 AWS Command Line Interface (AWS CLI) 명령을 실행하십시오.
$ aws cognito-idp initiate-auth --client-id <your-client-id>
--auth-flow USER_PASSWORD_AUTH --auth-parameters "USERNAME=<username>,PASSWORD=<password>"
**참고:바꾸기<your-client-id>고객 ID로 바꾸십시오. 바꾸기<username>사용자 이름으로 바꾸십시오. 바꾸기<password>**비밀번호로 바꾸십시오.
**참고:**AWS CLI 명령을 실행할 때 오류가 발생하는 경우 최신 버전의 AWS CLI를 사용하고 있는지 확인하십시오.
명령은 사용자 마이그레이션 Lambda 함수를 호출합니다. 반환되는 모든 오류에는 세부 메시지가 포함됩니다.
관련 정보
사용자 마이그레이션 Lambda 트리거를 사용하여 사용자 풀로 사용자 가져오기
사용자 Lambda 트리거 마이그레이션
예시: 기존 암호로 사용자 이전