Member-only story

【AWS Amplify】[unauthRoleName, authRoleName] must have values

Jangwook Kim
2 min readApr 11, 2022

이 포스트는 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 문제를 해결할 수 있었습니다.

--

--

Jangwook Kim
Jangwook Kim

Written by Jangwook Kim

Korean, live in Japan. The programmer. I love to learn something new things. I’m publishing my toy projects using GitHub. Visit https://www.jangwook.net.

No responses yet