Member-only story
【AWS Amplify】[unauthRoleName, authRoleName] must have values
이 포스트는 AWS Amplify 사용 중 발생한 에러의 대응 일지입니다.
이미 존재하는 Cognito 유저 풀을 Amplify에서 사용하기 위해, 도큐먼트에서는 amplify import auth
커맨드를 사용하라고 합니다.
하지만 이 경우, amplify push
를 하였을 때, 다음과 같은 에러를 발생시킬 수 있습니다.
UPDATE_FAILED api AWS::CloudFormation::Stack Mon April 11 2022 13:50:16 GMT+0900 (xxx) Parameters: [unauthRoleName, authRoleName] must have values
이 문제를 해결하기 위해 Stackoverflow나 여러가지 블로그 포스트를 확인해보아도, 딱히 해결되지 않았기에 꽤나 많은 시간을 에러 대응을 위해 허비해야만 했습니다.
결론부터 말씀드리자면, 이 문제는 amplify import auth
커맨드를 실행할 때 Cognito User Pool Only
를 선택했기 때문에 발생했던 것입니다.
Amplify를 이용하지 않고 유저풀을 사용하게 된다면 일반적으로 자격증명풀을 생성하지 않았기에 발생하는 문제였던 것입니다.
문제를 해결하기 위해, amplify remove auth
커맨드로 임포트한 유저풀을 삭제해 줍니다.
그 이후, AWS 콘솔에서 Cognito에 접속해 [자격 증명 풀 관리]에서 새 자격 증명 풀을 만듭니다.
만드는 방법에 대해서는 도큐먼트의 링크를 거는 것으로 생략하겠습니다.
자격 증명 풀(페더레이션 자격 증명) 사용 — Amazon Cognito
만들고 난 이후에는, amplify import auth
커맨드를 입력하여, Cognito User Pool and Identity Pool
을 선택합니다.
이 방법을 통해 [unauthRoleName, authRoleName] must have values
문제를 해결할 수 있었습니다.